[svn] Subversion을 사용하여 두 가지 수정 버전 병합

http : // url-of-branch-a의 rev 10과 HEAD rev 사이에 발생한 모든 변경 사항을 병합 하고 http : // url-of-branch-b에 적용 하고 싶습니다 .

뭔가 …

svn merge -r 10:HEAD http://url-of-branch-a

이게 가능해? 그렇다면 구문은 무엇입니까?

유닉스 명령 줄에서 SVN 클라이언트를 실행하고 있습니다. SVN 클라이언트 버전은 1.4입니다.

편집 : 예, 내 특정 솔루션은 …

  1. 변경 사항을 수신 할 작업 사본의 위치로 디렉토리를 변경하십시오 (branch-b).
  2. svn merge -r 10 : HEAD http : // url-of-branch-a

이것은 ‘branch-a’의 변경 사항을 ‘branch-b’로 병합합니다.



답변

Checkout URL A. SVN 병합을 사용하여 URL B를 A의 작업 복사본에 병합합니다. 커밋 A.

물론 그 반대도 마찬가지입니다. 🙂


답변

과정은 다음과 같습니다.

  1. 지점 B ( svn checkout http://branch-b) 의 작업 복사본을 설정합니다.
  2. 분기 A의 변경 사항을 B의 작업 복사본으로 병합 ( svn merge -r 10:HEAD http://branch-a .)
  3. 작업 복사본 B를 분기 b ( svn commit)에 커밋 (충돌 해결 후 )

svn merge 의미론에 대해서는 man 페이지 (도움말 파일)를 확인하십시오. svn merge가 항상 결과를 작업 복사본으로 덤프한다는 것을 보여줍니다.

자세한 내용 은 SVNBook 을 확인 하십시오.


답변

mergesvn repo에서하려고하면 대부분 혼란 스럽습니다. svn repo에 직접 병합 할 수 없으며 다음과 같이 로컬 머신의 작업 복사본에 병합 할 수 있습니다.

  • 이 작업 복사본은 destination URL병합 (예 : 체크 아웃 대상) 이어야합니다 .

  • 작업 복사본 source URL을 병합 과 병합합니다.

  • commit 목적지까지.

모범 사례 : Merge In, Merge Out.


답변