update 시에 충돌이 났을 경우 즉시 해결도 가능하지만,
(p)ostpone 을 선택했을 경우 충돌(C) 상태는 resolve 와 resolved 명령으로 충돌 해결이 가능합니다.
충돌 해결이란 보통 머지(G) 나 수정(M) 상태로 만드는 것을 말합니다.
resolve / resolved 명령은 비슷해 보이지만 다릅니다.
resolve 명령은 여러 옵션을 사용할 수 있지만 resolved 명령은 간단합니다.

 

 

resolve
usage : svn resolve --accept ARG [PATH...]

 

작업 사본 파일이나 디렉토리들의 충돌을 해결합니다.
파일의 상태가 충돌(C)일 경우 .mine .r1 .r2 등의 파일들이 생성되었을 때, 
생성된 파일들을 삭제하고 충돌을 해결하기 위해 사용됩니다.
충돌난 내용을 모두 숙지 후에 행해야할 명령어 입니다.
ARG 는 다음 중 하나의 옵션이 포함되어야 합니다.

 

base : 작업 사본을 갱신하기 전의 리비전(BASE)의 파일을 선택
working : 현재 작업 사본의 충돌 파일을 수동으로 해결하기 위해 충돌난 부분이 명시된 파일 선택 (수동 수정 필요)
mine-conflict : 충돌난 부분만 본인이 작업한 파일로 선택
theirs-conflict : 충돌난 부분만 타인이 작업한 파일로 선택
mine-full : 전체 내용을 본인이 작업한 파일로 선택
theirs-full : 전체 내용을 타인이 작업한 파일로 선택

 

$ svn st
?       test.html.r67
?       test.html.r68
?       test.html.mine
C       test.html
svn resolve --accept working test.html
Resolved conflicted state of 'test.html'

$ svn st
M       test.html

 

 

resolved
usage : svn resolved PATH...

 

작업 사본 파일이나 디렉토리들의 충돌(C) 상태를 제거합니다.
이 명령은 실제로 충돌을 해결하지 않고, 충돌 표시만 없앱니다.
충돌에 관련되어 생성된 파일들을 제거하며, PATH는 다시 커밋할 수 있는 상태가 됩니다.
"svn resolve --accept working" 실행과 동일하게 처리됩니다.

 

$ svn update
Updating '.':
C    foo.c
Updated to revision 31.
Summary of conflicts:
  Text conflicts: 1

svn resolved foo.c

 

충돌 발생시 해당 파일을 수정 후에 이 명령을 이용하면 .mine .r(base) .r(prev) 가 자동 삭제되어 유용합니다.

위 예제들에서 보다시피 두 명령의 차이라면,
$ svn resolve --accept working test.html 명령을 사용하려 한다면
$ svn resolved test.html 명령을 사용하는 것이 더 편리하다... 는 점입니다.

 



출처 : http://www.oops4u.com/1687



+ Recent posts