2008-08-06 11 views
9

병합 :SVN 병합 난 그냥 같은 것을 사용하여 병합을 한 여분의 물건

svn merge -r 67212:67213 https://my.svn.repository/trunk . 

나는 단지 간단한 ChangeLog 중 하나는이 개 파일을했다. 단지 내 ChangeLog 변경 사항을 병합하는 것이 아니라 목적지에없는 일부 이전 항목을 실제로 추출했습니다. ChangeLog. 내가 실행했을 때 충돌이 있음을 알았으므로, ChangeLog을 업데이트했고 여전히 충돌이있었습니다 (실제 병합을했을 때 충돌을 보았습니다).

나는 나중에 내가에서 병합 된 파일을 diffed :

svn diff -r 67212:67213 ChangeLog 

그리고 나는 내가 만든하신 변경 사항을 참조, 그래서 나는 여분의 변화가 어떻게 든 거기에 도착하지 않았다는 것을 알고있다.

이것은 내가 병합이 실제로 내가 바꾼 것만 받아들이는 것이 아니라는 것을 걱정하게 만듭니다. 이것이 내가 예상했던 것입니다. 아무도 무슨 일이 일어 났는지 설명 할 수 있니?

업데이트 : NilObject 님의 질문에 답변

그래서, 난 단지 변경점은 다른 병합 된 벌금 관련,이 개 파일이 변경되었습니다. 내 일반 트렁크 체크 아웃에 갈 때, 나는 위의 diff 명령을하고 참조 :

Index: ChangeLog 
=================================================================== 
--- ChangeLog (revision 67212) 
+++ ChangeLog (revision 67213) 
@@ -1,3 +1,7 @@ 
+2008-08-06 Mike Stone <myemail> 
+ 
+ * changed_file: Details. 
+ 
2008-08-06 Someone Else <their_email> 

    * theirChanges: Details. 

를 이전 변경 내 병합 후 변경점의 DIFF는 다음과 같습니다

Index: ChangeLog 
=================================================================== 
--- ChangeLog (revision 67215) 
+++ ChangeLog (working copy) 
@@ -1,3 +1,14 @@ 
+<<<<<<< .working 
+======= 
+2008-08-06 Mike Stone <myemail> 
+ 
+ * changed_file: Details. 
+ 
+2008-08-06 Someone Else <their_email> 
+ 
+ * theirChanges: Details. 
+ 
+>>>>>>> .merge-right.r67213 
2008-08-05 Someone Else2 <their2_email> 

    * olderChange: Details. 

참고 잘못 가져온 항목이 내가 병합 할 파일에 없었지만 변경 사항 중 하나가 아니 어쨌든 병합해서는 안됩니다. 수정하기 쉽습니다 (변경 사항에 포함되지 않은 추가 행 제거). 그러나 여전히 SVN에 자동으로 병합하는 것에 대해 걱정이됩니다.

답변

2

이는 갈등 발생 - 기본적으로의 변화를 병합하려 SVN하지만 (대략 말하기)로 변경했다 :

2008-08-06 Mike Stone <myemail> 

* changed_file: Details. 

전에

2008-08-06 Someone Else <their_email> 

추가를 그리고 병합 작업을 수행하는 동안 누군가 다른 행을 찾을 수 없으므로 충돌을 일으킬 때 컨텍스트에 맞춰서 그 비트를 잡아 당겼습니다.충돌하지 않는 병합이라면 예상 한 변경 사항 만 적용되었을 것입니다.

+0

나는 그것이 (시각적/수동 병합을 할 때 SVN이 "그들"에 대한 "기존"기초 문서를 제공해야하므로 병합 기준의 최신 개정판이 그 것이다) 그것은 정말로 더러운 것이다! (적어도 Merge 게임을 처음 접했을 때, cherrypickings과 다른 병합의 경이로움에 놀라움) – Tao

0

여기에 갈 충분한 정보가 없습니다.

svn merge -r 67212:67213 https://my.svn.repository/trunk . 

저장소의 폴더/트렁크에 개정 67,212에 변경된 파일을 병합하고 현재 작업 디렉토리로 병합됩니다. 사용하는 경우 :

svn log -r 67212 

표시되는 파일은 무엇입니까? 병합은 첫 번째 인수의 변경 사항 만 가져 와서 두 번째 인수에 적용합니다. 첫 번째 인수에서 서버로 다시 업로드하지 않습니다.

귀하의 질문에 답변이되지 않는 경우 정확히 무슨 일이 일어나는지에 대한 자세한 내용을 게시 할 수 있습니까?