svn merge 작업은 몇달에 한번씩만 하다보니 명령어를 까먹어서 매번 검색을 하는거 같다. $ svn log --stop-on-copy svn://www.test.com/test/branches/1.1-stable $ cd trunk $ svn merge -r3000:HEAD svn://www.test.com/test/branches/1.1-stable ./ $ svn diff | vi - $ svn commit -m "브랜치 1.1-stable 작업 내역을 trunk에 반영함"
그냥 내 블로그에 정리를 해두자~
"1.1-stable" 이라는 브랜치의 작업 내용을 "trunk"에 반영(merge) 작업을 한다고 가정함.
1. "1.1-stable"이 최초로 생성된 revision을 얻는다. 아래의 명령어를 이용하여 가장 밑에 로그 revision을 확인함.
2. 1에서 얻은 revision이 3000일 경우 "trunk"로 이동하여 아래의 명령어와 --dry-run 옵션을 추가로 이용하여 가상으로 merge 결과를 확인해본다. (--dry-run 옵션은 실제로 merge 작업을 하지 않고 merge 결과만 보여준다.)
아래의 명령은 revision 3000~최신 까지 "1.1-stable" 브랜치에서 작업된 내용을 "trunk"에 가상으로 반영해본다는 내용이다.
$ svn merge --dry-run -r3000:HEAD svn://www.test.com/test/branches/1.1-stable ./
3. 2의 결과를 보고 별다른 문제가 없으면 --dry-run을 제거하고 실제로 merge를 실행한다. 이때 소스코드에서 충돌이 발생하면 충돌난 부분을 찾아서 수정해준다.
4. merge가 완료된 trunk 코드를 diff 나 기타 방식대로 점검을 해본다.(귀찮거나 자신있으면 생략~ ^^)
5. merge된 trunk를 commit 하여 작업을 완료한다.
이제 merge된 코드를 빌드하여 테스트를 즐긴다~
'영삼이의 IT정보' 카테고리의 다른 글
PHP 소수점이하 두자리까지 자르는 방법 (0) | 2012.06.14 |
---|---|
이미지 URL을 UIImageView로 바로 뿌려주기 (0) | 2012.06.13 |
mac용 svn시작하기 [출처] mac용 svn시작하기|작성자 seungbeomi (0) | 2012.06.12 |
mac os x 에 apache module dav_svn 설치하기. (0) | 2012.06.12 |
맥용 SVN 서버 설치 (0) | 2012.06.12 |