svn branch, merge 관련

개발공부 2017. 3. 5. 00:45
반응형

$svn copy http://svn.example.com/repo/projectName/trunk  http://svn.example.com/repos/calc/branches/branchName 

-m "Description about branch"

svn 머지 하기

svn merge ^/branches/16000000/controller/BaseController.php controller/BaseController.php

--------------------------------------------------------------------------------------------------------------

위에처럼 SVN 머지를 하다보면 해당 파일을 찾을 수 없습니다. 라고 에러가 나올 때가 있다. 뭣이??? 왓더..

아래처럼 확인을 해보면

$svn log -v --stop-on-copy 

branch 생성 시점 ~ 최종 까지의 로그가 나온다.

branch 생성이 리비전 6518 이고 6530 까지의 업데이트가 있었다고 하면..

이 사이 동안 trunk 소스의 변경이 되었을 수 있다.

때문에 아래처럼 branch 리파지토리에서 트렁크 소스를 한번 합친다.

(브랜치 생성 시점 이전 ~ 최종버전까지의 변경을 반영한다.)

그리고 실제 머지 전 --dry-run 옵션으로 머지 결과가 어떨지 확인해볼 수 있다. 

$svn merge --dry-run -r6517:HEAD ^/trunk/{경로/파일}  {branch repo경로/파일}

$svn merge -r6517:HEAD ^/trunk/{경로/파일}  {branch repo경로/파일}

머지 된 파일들을 이제 브랜치 svn에 커밋해준다.

$svn ci -m "[INFO-1204] 카테고리 종료 머지" controller/blabla/blabla.php

이제 브랜치 svn에 trunk의 모든 수정사항들이 적용되었으니

trunk 리파지토리로 이동을 해서, 브랜치 svn 코드를 머지한다.

(브랜치 생성 이후 ~ 최종 버전까지의 변경을 반영)

여기서도 --dry-run 옵션으로 머지 결과를 미리 확인해볼 수 있다.

$svn merge --dry-run -r6518:HEAD ^/branches/{경로/파일}  {branch repo경로/파일}

$svn merge -r6518:HEAD ^/branches/{경로/파일}  {branch repo경로/파일}

이후 소스가 모두 머지된 후에는 평소처럼 trunk svn에 커밋을 해주면 된다! 

정리 끝~ 


반응형

'개발공부' 카테고리의 다른 글

mac putty ppk 사용  (0) 2017.03.05
eclipse maven 셋팅  (0) 2017.03.05
nodeJS 설치 에러  (0) 2017.03.05
mplayer 설치 에러  (0) 2017.03.05
NFS mount  (0) 2017.03.03
posted by 알릿수