본문 바로가기
운영_설치/리눅스_유닉스

[svn] 서브버전 사용 요약

by 써드아이 2014. 3. 19.

svnadmin create --fs-type=fsfs 저장소이름

svnadmin dump 저장소이름 > 백업파일

svnadmin load 저장소이름 < 백업파일 #저장소는 미리 생성되어 있어야함


svnadmin dump 저장소이름 --incremental -r start:stop > 백업#1

svnadmin dump 저장소이름 --incremental -r start:stop > 백업#2

svnadmin dump 저장소이름 --incremental -r start:stop > 백업#3


svnadmin load 저장소이름 < 백업#1
svnadmin load 저장소이름 < 백업#2
svnadmin load 저장소이름 < 백업#3

%%
-r 옵션을 사용하여 구간을 지정한 덤프의 경우 --incremental 옵션을 줄때와 안줄떄 차이를 모르겠다.




svn mkdir svn+ssh://hostname/저장소/trunk

svn mkdir svn+ssh://hostname/저장소/branches

svn mkdir svn+ssh://hostname/저장소/tag


# trunk / branche / tags 이름이 필수 사항은 아니지만 의미적으로 이렇게 이용하는게 좋다.


svn import 작업디렉토리 svn+ssh://hostname/저장소/trunk


rm -rf 작업디렉토리


svn co svn+ssh://hostname/저장소/trunk 디렉토리 # 새로운 작업 디렉토리가 된다.


svn commit

svn update

svn status

svn log

svn revert # 커밋을 하지 않았다면 작업 내용을 되돌릴 수 있다고 하네... 유용하겠는걸..


svn copy svn+ssh://hostname/저장소/trunk svn+ssh://hostname/저장소/branches/TRY_새로운시도           # 새로운 시도 버전을 생성



svn switch svn+ssh://hostname/저장소/branches/TRY_새로운시도         # 현재 작업중인 디렉토리를 "새로운 시도"로 설정, 이거보다는 그냥 새로운 checkout을 하는게 좋다고 하네..


svn log --stop-on-copy # 카피를 한 시점까지만 로그를 보여준다.


svn merge -r ??:!! 대상 # 리비전 r?? 과 r!!을 병합한다. r??이 더 나중에 작업한 내용이라면 


svn merge svn+ssh://hostname/저장소/trun         # 브랜치 작업중 trunk의 내용을 생성한 브랜치에 적용, 적용후 commit 필수, 이 작업을 수시로 해주는 것이 좋고, 설정을 잘 하면 trunk 변경 내용을 메일로 받을 수 있다고 함


cd ..

svn co svn+ssh://hostname/저장소/trunk temp_merge         # 새로운 trunk의 작업본을 만든다(checkout)


svn merge --dry-run svn+ssh://hostname/저장소trunk svn+ssh://hostname/저장소/branches/TRY_새로운시도 temp_merge         # 브랜치와 trunk를 merge 하여 temp_merge에 적용한다..  (--dry-run 옵션은 테스트만 수행)


cd temp_merge

svn commit




[참고]

http://asbear.tistory.com/50