Ich habe TortoiseSVN, svn und subclipse benutzt und ich denke, ich verstehe die Grundlagen, aber eine Sache nervt mich schon seit einiger Zeit: Das Zusammenführen führt unerwünschten Code ein. Hier sind die Schritte.Subversion: Wie füge ich nur bestimmte Revisionen in den Stamm ein, wenn mehrere aufeinanderfolgende Änderungen in einem Zweig vorgenommen werden?
trunk/[email protected]
. Eine Testdatei wurde mit 'A' und eine Rückkehr erstellt:
A
[EOF]
branches/TRY-XX-Foo/[email protected]
. Verzweigt den trunk
zu TRY-XX-Foo
:
A
[EOF]
branches/TRY-XX-Foo/[email protected]
. Machte eine unerwünschte Änderung in TRY-XX-Foo
und verpflichtet es:
A
B (unwanted change)
[EOF]
branches/TRY-XX-Foo/[email protected]
. Einen wichtigen Bugfix in TRY-XX-Foo
und verpflichtet es:
A
B (unwanted change)
C (important bug fix)
[EOF]
Nun, ich würde nur die wichtige Fehler beheben zurück zum Stamm zusammenführen möchten. Also, ich führe Merge für die Revision 4:5
. Was ich in meinem Arbeitsverzeichnis lande, ist ein Konflikt.
trunk/test.txt
:
A
<<<<<<< .working
=======
B (unwanted change)
C (important bug fix)
>>>>>>> .merge-right.r5
[EOF]
Gegen meinen Willen hat Subversion jetzt „unerwünschte Änderung“ in den Stamm-Code enthalten, und ich brauche sie manuell aussortieren. Gibt es eine Möglichkeit, nur bestimmte Revisionen zusammenzuführen, wenn mehrere aufeinanderfolgende Änderungen in der Verzweigung vorgenommen werden?
Der Teil des Problems ist, dass B (unerwartete Änderung) in .Merge-rechts enthalten ist und ich kann den Unterschied nicht unterscheiden, aus welcher Revision es stammt. Normalerweise benutze ich TortoiseMerge und so sieht es aus.
Um einen realistischeren Test zu machen, sollten Sie einen 'Kontext' zwischen den Linien hinzufügen, die Sie ändern. Die Textvergleichs- und -zusammenführungstools benötigen einige Kontextlinien zwischen den Änderungen, um automatische Zusammenführungen durchzuführen. Wenn der Kontext nicht groß genug ist, wird der Konflikt wie in Ihrem letzten Beispiel angezeigt. –
@Bert: Bitte stellen Sie es als Antwort, so kann es abgestimmt werden. Ich denke, Sie haben hier einen Punkt. –
können Sie Ihre Bildbreite bearbeiten, es wirft den Fragetext weg. –