Develop
2014.02.28 00:48
SVN 명령어 (SVN command)
Views 12203 Comment 0
SVN Command
svnadmin dump
- 저장소 백업
- svnadmin dump [저장소 폴더명] > [덤프 파일명]
- ex) svnadmin dump project_sample > dump_project_sanmple_20010131
svnadmin load
- 저장소 복원
- svnadmin load [저장소 폴더명] < [덤프 파일명]
- ex) svnadmin create project_sample
svnadmin load project_sample < dump_project_sanmple_20010131
svn checkout
- svn 서버에서 소스 내려받기
- svn checkout svn://192.168.2.2/App App
- svn checkout -r 100 svn://192.168.2.2/App App (revision 100번 소스 받기)
- svn checkout -r HEAD svn://192.168.9.128/sample_repos sample_HEAD (마지막 리비전 받기)
- 자세한 것은 svn checkout --help 참고
svn export
- 버전관리 정보 없는 깨끗한 사본을 받아옴
- svn export --help
- svn export -r 1 svn://192.168.0.12/sample_repos sample_pos
svn commit 파일명 or 폴더명 or ./
- svn commit 했을 때 소스 파일에서 out of date 에러 날 때는 그 사이에 svn에 소스가 업데이트 됬다는 의미이다. 따라서, out of date 에러났을 때는 svn update을 실행해서 동기화를 한 후에 commit을 하면 된다.
- commit 하기전에는 update를 실행하여 out of date 에러를 막자.
- 예)
# svn commit
# svn commit ./test/test.h
svn resolved -R ./
- 소스 충돌 날 때 이놈으로 풀면 됨.
svn cleanup
- 소스가 lock 되 있을 경우 이 명령으로 해제 한다. lock 되는 원인은 알아서 찾는다.
svn update
- 서버와 소스 동기화.
A Added
D Deleted
U Updated
C Conflict
G Merged
E Existed
- commit 하기전에는 소스 충돌을 막기 위해 update를 실행해야 한다.
- update를 했는데 에러가 났을 경우에는 각각의 revision을 따로 update 해본다.
경험상 한번에 할 경우에 드물게 에러가 나는 경우가 있다.
#svn update -r 100 --> 100은 revision number
#svn update -r 101
svn log
- svn user가 commit한 로그 볼 때 사용한다.
# svn log svn://192.168.9.128/sample_repos => 주의) svn path를 안주면 마지막 로그를 빼먹는다.
# svn log -l 10 (상위 10개의 로그만 보기) => 주의) svn path를 안주면 마지막 로그를 빼먹는다.
# svn log -l 10 svn://192.168.9.128/sample_repos
- commit log 수정하기
# svn propset --revprop -r [리비전번호] svn:log “수정할 메세지”
참고: http://altistory.net/929
# TortoiseSVN 사용할 때 show log 선택 후에 로그 패널에서 마우스 오른쪽 버튼 클릭하면 "Edit log message" 나온다.
svn mkdir
- repository에 folder 생성한다.
- # svn mkdir svn://192.168.163.11/TEST_repo/test_folder
svn import
- 처음으로 repository에 파일 추가하기.
- 주의할점은 *.a 같은 파일은 추가 안될 수 있으니 --no-ignore 옵션 사용하기.
- # svn import import_path svn://192.168.163.11/TEST_repo/import_path --no-ignore
svn add
- 새로 만든 파일 추가 하기. import와 똑같이 사용 가능하다.
- # svn add --no-ignore [path]
svn delete (or del, remove)
- 파일, 폴더 삭제
- # svn del [FILE_NAME] or [DIR]
- # svn del svn://192.168.16.11/TEST_repo/test_dir
--> commit도 동시에 된다. help 참고.
svn switch(or sw)
- 저장소 이름 변경할 때
# mv sample_repo1 sample_repo2 (su 로그인 후 저장소 이름을 직접 변경)
# svn switch --relocate svn:/192.168.9.128/sample_repo1 svn:/192.168.9.128/sample_repo2
--> repository에서 다운받은 곳에서 명령을 실행한다.
"svn: E155007: 작업 사본이 아닙니다.(Not a working copy)" 이 에러는 .svn 없는 곳에서 svn 명령을 실행
했을 때 발생한다.
- 저장소 IP 변경할 때
# svn switch --relocate svn:/192.168.30.198/sample_repo1 svn:/192.168.30.122/sample_repo1
svn diff
- 두 revision 비교 또는 file 비교
- 참고: http://pokute.tistory.com/201
변경된 파일만 출력
# svn diff | awk '/^Index/ {print $NF}'
두 리비전 비교
# svn diff -r 100:101
두 리비전의 파일비교
#svn diff -r 100:101 file_path
[참고 링크] http://blog.daum.net/rayolla/251
No. | Category | Subject | Author | Date | Views |
---|---|---|---|---|---|
685 | Develop | [java] netty (비동기 이벤트 방식 네트워크 프레임워크) 사용법 #1 (server) 1 | hooni | 2015.01.02 | 2316 |
684 | Develop |
XML, JSON, BSON, MSGPACK 장,단점 비교
![]() |
hooni | 2017.01.11 | 2368 |
683 | Develop | [c] 셀프 넘버(Self Number) 구하기 1 | hooni | 2016.09.09 | 2381 |
682 | Develop |
[ios] iOS앱의 Xcode 빌드 과정
![]() |
hooni | 2015.01.03 | 2389 |
681 | Develop | [펌] 게임 엔진 만든거 공개합니다. | hooni | 2015.02.21 | 2462 |
680 | Develop |
[php][laravel] 라라벨 프로젝트 생성 및 구조
![]() |
hooni | 2017.12.15 | 2551 |
679 | Develop | [js] jQuery, Javascript 모바일(스마트폰) 판단하는 방법 | hooni | 2015.04.26 | 2562 |
678 | Develop | [php] Laravel Route에서 PC/Mobile 분기 | hooni | 2018.01.24 | 2661 |
677 | Develop | [php] Laravel 4. twitter bootstrap 적용하기 | hooni | 2018.04.05 | 2690 |
676 | Develop |
[php][laravel] 라라벨 개발환경 세팅하기 (Mac, Window)
2 ![]() |
hooni | 2017.12.15 | 2765 |
675 | Develop | [js] show/hide 이벤트 감시 (Observing show/hide event) | hooni | 2021.02.03 | 2773 |
674 | Develop | [ios] TextField 특정 문자만 사용하도록 하기 | hooni | 2014.06.30 | 2775 |