2013-02-20 5 views
10

Ich habe ein Projekt mit der folgenden Struktursvn merge mit --reintegrate über fehlende Bereiche klagt aber mergeinfo scheint richtig

^/project/trunk 
^/project/branches/mybranch 

wo aktuelle HEAD ist Revision 1048. Der Zweig vom Stamm in R523 kopiert wurde. trunk wurde zu mybranch mit dem Ergebnis r1048 zusammengeführt. Die mergeinfo auf ^/project/branches/mybranch gibt

/project/trunk:523-1047 

und die mergeinfo von Stamm hat keine Aufzeichnungen nichts von ^/project/branches/mybranch zu erwähnen. Tatsächlich enthalten sowohl Stamm als auch Zweige Mergeninfos von Zweigen parallel zu mybranch, aber diese Zusammenführungsinfos erscheinen in beiden Ausgaben als absolut identisch.

Jetzt gehe ich in meine Arbeitskopie des Stammes und versuchen

svn merge --reintegrate ^/project/branches/myproject 

ich Nachricht erhalten, einen Fehler zu erteilen, die sagt:

svn: Reintegrate can only be used if revisions 523 through 1048 were previously merged from file:///home/svn/project/trunk to the reintegrate source, but this is not the case: 
    project/branches/mybranch/src 
    Missing ranges: /project/trunk/src:523-1047 

Das ist seltsam, weil die mergeinfo auf meinem Zweig Ordner erzählt mir, dass 523-1047 korrekt von Stamm zu Zweig zusammengeführt wurden. Was ist der Deal mit diesem Unterordner? src ist ein Verzeichnis, das offensichtlich in Stamm und Zweig vorhanden ist.

Ich denke, das ist, wo etwas faul ist. Wenn ich in die Mergeinfo von mybranch/src über svn pg svn:mergeinfo ^/project/branches/mybranch/[email protected] schaue bekomme ich gar nichts. Wenn ich am Stamm/src sehen jedoch (svn pg svn:mergeinfo ^/project/trunk/[email protected]) bekomme ich

/project/branches/mybranch/src:784 

So scheint es, als ob jemand eine kirsch Pick aus Zweig hat es mit dem Stamm. Dies erscheint jedoch nicht im Stammordner selbst.

Ist das, wo das Problem liegt? Und vor allem: Wie kann ich es heilen?

Antwort

13

Ist das das Problem?

Ja, genau - fusionieren subtree später immer verwechseln Wiedereingliederung

Und vor allem: Wie kann ich es heilen ??

Entfernen mergeinfo von/Projekt/trunk/src

+0

Ja, das den Trick - vielen Dank. – janitor048

+0

Leider hat das bei mir nicht funktioniert. Mein Zweig und der Stamm waren im Inhalt identisch, aber wahrscheinlich waren sie aus irgendeinem Grund in der Svn-Baumstruktur unterschiedlich. Ich musste einen neuen Zweig aus dem Stamm erstellen und ich war gezwungen, den alten Zweig zu löschen, jetzt funktioniert es, aber offensichtlich ist das nicht die ideale Lösung. –

4

Hier ist ein sehr ähnliches Thema, das Sie vielleicht einen Blick auf haben wollen:

Reintegrate can only be used if revisions were previously merged URL to reintegrate the source

Besonders this answer aus Paul Whipp hat mir sehr geholfen, als ich auf das gleiche Problem stieß und die Mergeinfo nicht löschen wollte, weil das irgendwie li klang ke ein Workaround und keine "echte" Lösung.

Kurz gesagt: Versuchen Sie, die fehlenden Informationen für diese spezifische Datei/Ordner manuell zusammenzuführen (wie svn suggeriert). Arbeitete wie ein Zauber für mich.

Siehe Pauls Antwort für den entsprechenden Code excamples usw.

Verwandte Themen