Vra

Ek het net 'n merge met behulp van iets soos:

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

Ek het net 2 lêers, waarvan een is 'n eenvoudige ChangeLog. Eerder as om net die samesmelting van my ChangeLog veranderinge, dit eintlik getrek myn plus 'n paar voriges wat nie in die bestemming ChangeLog was. Ek het opgemerk daar was 'n konflik wanneer ek --dry lopies uitgevoer word, so ek opgedateer ChangeLog, en daar was nog 'n konflik (en ek het die konflik wanneer ek het die werklike merge).

Ek het toe later diffed op die lêer Ek is die samesmelting van:

svn diff -r 67212:67213 ChangeLog

En ek sien net die veranderinge wat ek gemaak het, so ek weet dat ekstra veranderinge nie in daar een of ander manier gekry het nie.

Dit maak my bekommerd dat merge is nie eintlik net neem wat ek verander het, en dit is wat ek sou verwag het. Kan iemand verduidelik wat gebeur het?

UPDATE: In reaksie op NilObject:

So, ek het 2 lêers verander, net ChangeLog is relevant, die ander saamgesmelt fyn. Toe ek gaan na my gereelde stam bestel, ek doen die ewenaar opdrag hierbo en sien:

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.

Na my merge van die vorige veranderinge, die verskil van ChangeLog lyk soos volg:

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.

Let daarop dat die inskrywing wat verkeerd in getrek was nie in die lêer ek dit samesmelting met, maar tog was dit nie een van my veranderinge en moet nie anyways saamgesmelt. Dit was maklik om op te los (verwyder die ekstra lyne wat nie deel van my veranderinge was), maar dit maak nog my bekommer oor outomaties samesmelting in SVN.

Was dit nuttig?

Oplossing

Dit gebeur net met konflikte - basies SVN probeer om die verandering in saamsmelt, maar (rofweg gesproke) het die verandering as:

Voeg by

2008-08-06  Mike Stone  <myemail>

* changed_file: Details.

voor

2008-08-06  Someone Else  <their_email>

En dit kon nie die iemand anders lyn terwyl hulle die merge, so gegooi dat bietjie in vir konteks toe om in die konflik. As dit 'n nie-teenstrydige merge net die veranderinge wat jy verwag sou gewees het toegepas.

Ander wenke

Daar is nie regtig genoeg inligting om hier op te gaan.

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

sal enige lêers verander in die hersiening 67212 in die gids / stam op die bewaarplek saamsmelt en voeg dit in jou huidige werk gids. As jy dit doen:

svn log -r 67212

Wat lêers wys dit verander? Merge sal net verander van die eerste argument trek, en toe te pas op die tweede. Dit maak nie oplaai na die bediener in die eerste argument.

As dit jou vraag nie beantwoord nie, kan jy post meer besonderhede oor wat presies gebeur?

Gelisensieer onder: CC-BY-SA met toeskrywing
Nie verbonde aan StackOverflow
scroll top