Ich habe SVN-Zweige mit Tortoise 1.6 verwendet. Ich habe den Stamm regelmäßig mit dem Zweig zusammengeführt, um ihn auf dem neuesten Stand zu halten.
Heute dachte ich, ich würde den Zweig wieder integrieren. Ich habe "Reintegrate a branch" von Tortoise ausgewählt und die folgende Fehlermeldung erhalten:
Reintegrate kann nur verwendet werden, wenn die Revisionen 4709 bis 5019 zuvor von http://subversion/svn/saxdev/trunk
der Reintegrate-Quelle zusammengeführt wurden. Dies ist jedoch nicht der Fall
Anschließend wurden rund 50 Dateien mit folgenden Beschreibungen aufgelistet:
Error: branches/qst/kobalt/sax/businessobjects/util/HistoryParent.java
Error: Missing ranges: /trunk/kobalt/sax/businessobjects/util/HistoryParent.java:4709-5018
Revision 5019 ist die Kopfrevision. Revision 4737 war die Revision, als ich einen Zweig erstellt habe.
Ich habe dies aus dem Protokoll für Revision 4737
Aktion: Pfad hinzugefügt: / branch / qst Kopie aus Pfad: / trunk
Für mich besagt diese Fehlermeldung, dass der Zweig nicht ursprünglich aus dem Trunk stammt, was nicht stimmt.
Irgendwelche Ideen?
quelle
Antworten:
Wenn Sie an einem Zweig arbeiten und ihn mit anderen Arbeiten auf dem neuesten Stand gehalten haben, kann es sein, dass Sie verwirrt sind, wenn Sie eine Arbeitskopie des Trunks erstellen und versuchen, Ihren Zweig wieder zu integrieren, wenn Sie eine Nachricht wie die folgende erhalten:
Ich habe eine Reihe von Problemumgehungen bei Google gesehen, aber sie haben mich als "Hacks" nervös gemacht. Um dies zu beheben, habe ich mich entschlossen, genau das zu tun, was Subversion in der Nachricht andeutet. Ich bin zu meiner Niederlassung zurückgekehrt und habe die angegebenen Revisionen explizit zusammengeführt:
Sobald ich dies getan hatte, konnte ich zur Arbeitskopie von trunk zurückkehren und den Zweig ohne Probleme wieder integrieren.
ich hoffe das hilft
quelle
svn merge
sie aus dem Kofferraum.[[Obwohl meine Lösung in der Vergangenheit für mich funktioniert hat, kann sie bei modernen SVN-Clients zu falschen Ergebnissen führen. In unserem Fall schienen die Zusammenführungsfehler Nebenprodukte von Automatisierungen zu sein, die unsere SVN-Historie verwirrten und keine wirkliche Aktivität darstellten. Ich lasse dies hier für die Nachwelt, aber bitte berücksichtigen Sie stattdessen die akzeptierte Antwort. ]]
Die Lösung für mich bestand darin, alle
svn:mergeinfo
Eigenschaften zu entfernen , die irgendwie an einzelne Dateien in der Hierarchie angehängt werden.So finden Sie die Dateien mit Mergeinfo-Informationen:
Dann können Sie die mergeinfo-Eigenschaften entfernen:
Nachdem ich dies abgeschlossen habe, wurde meine Zusammenführung einwandfrei ausgeführt.
quelle
Wenn Sie versuchen, Ihren Zweig wieder in den Trunk zu integrieren, und Sie solche Fehler von TortoiseSVN sehen:
Klicken Sie auf den Fehlertext und drücken Sie CTRL+ A, CTRL+, Cum den gesamten Text zu kopieren.
Fügen Sie den Text in die Here-Zeichenfolge dieses PowerShell-Skripts ein:
Das Skript extrahiert die relativen Pfade von Dateien mit dem Problem mergeinfo und gibt eine Liste von Befehlen aus, um jeden einzelnen zu beheben.
Möglicherweise müssen Sie den
'userdata'
Wert an Ihre Repository-Struktur anpassen.Führen Sie das Skript aus, um die Befehle auszugeben, die Sie zum Entfernen der Problem-Mergeinfos benötigen.
In diesem Beispiel würde das Skript diese Ausgabe erzeugen:
An der Eingabeaufforderung können Sie zur Verzweigungsbasis (myproject) navigieren und die Befehle ausführen, um die Problem-Mergeinfos zu löschen.
Sie sollten die Ausgabe wie folgt sehen:
Wie in Gray's Antwort sollten Sie jetzt die Änderungen in den Zweig übernehmen und versuchen, ihn erneut zu integrieren. Diesmal sollte es funktionieren!
quelle
\s+
, damit er für Sie funktioniert?+
, was nötig war, damit es für mich funktioniert. In meinem Fall hatten einige Zeilen zwei Leerzeichen und andere drei, sodass die Unterstützung für eine variable Anzahl von Leerzeichen erforderlich war. Ich bin mir nicht sicher, warum ich den Raum in a geändert habe\s
. das wurde wahrscheinlich nicht benötigt, also entschuldige diesen Teil!+
da es für dich nützlich war.Eigentlich habe ich es mit der Option "Zwei verschiedene Zweige zusammenführen" behoben, um den Stamm und den Zweig in meiner Arbeitskopie zusammenzuführen. Dann habe ich das dem Kofferraum übergeben.
Wunderbar
quelle
Etwas, das bei Schildkröten-SVN für mich funktioniert hat: Anstatt alle Revisionen aus dem Zweig zusammenzuführen, wählen Sie einen bestimmten Bereich und wählen Sie manuell alle Ihre Revisionen aus dem Zweig aus.
quelle
Tun Sie einfach, was SVN Ihnen sagt.
quelle
Siehe auch meine Antwort hier für meine Erfahrung mit einem ähnlichen Fall. Ich bin nicht sicher, ob dies die Ursache Ihres Problems ist, aber es sieht so aus, als ob Subversion 1.8 Probleme mit der Mergeinfo hat, wenn sich zwei Änderungen gegenseitig aufheben.
quelle
Ich bin auf dieses Problem gestoßen. Ich habe in meinem Zweig ein SVN-Protokoll erstellt, um festzustellen, wo ich Trunk mit meinem Zweig zusammengeführt habe.
Ich habe alle Überarbeitungen notiert.
Ich habe dann die Verzweigung meines Zweigs zum Trunk durchgeführt, indem ich die Revisionen manuell angegeben habe. Ich habe alle Bereiche angegeben, um die Revisionen auszuschließen, in denen ich Trunk zusammengeführt habe. Ich schaffe es, meine Filiale zusammenzuführen.
Ich musste bei mergeinfo einige Änderungen vornehmen, aber mein Code wurde zusammengeführt.
Ich habe meinen Zweig sofort gelöscht.
quelle
Ich habe diesen Fehler erhalten, nachdem ich eine Zweigstelle teilweise ausgecheckt habe. Ich habe den Zweig mit dem Stamm auf dem neuesten Stand gehalten, aber die Stammrevisionen für Teile des Zweigs, die nicht ausgecheckt wurden, wurden natürlich nicht aktualisiert. Die Lösung bestand darin, den Zweig vollständig auszuchecken und dann alle Trunk-Änderungen zusammenzuführen. Nachdem ich diese für den Zweig festgeschrieben hatte, konnte ich den Zweig erfolgreich mit dem Trunk zusammenführen.
quelle
Habe dieses Problem am
Klicken Sie mit der rechten Maustaste auf den Zweig, in dem Sie zusammenführen möchten (aber diese Meldung erhalten), und wählen Sie die Option "Auf Revision aktualisieren". Wählen Sie dann im folgenden Dialogfeld (Abbildung unten) diese Revisionen aus und klicken Sie auf "OK" - sobald alle vorherigen Revisionen zusammengeführt wurden. Sie würden diese Nachricht nicht erhalten
Fügen Sie dies hier hinzu, um jemandem zu helfen, der Tortoise SVN verwendet
quelle
Ich weiß, dass dies ein alter Beitrag ist, aber ich hatte auch Probleme, dieses Problem zu lösen, bis ich herausfand, dass die in der Fehlermeldung aufgeführten Dateien ein SVN-Eigenschaftsproblem aufweisen.
Ich habe mit der rechten Maustaste auf die fehlerhaften Dateien geklickt: TortoiseSVN> Eigenschaften, und festgestellt, dass die Datei zwei svn: mergeinfo hatte und eine von ihnen nicht von Daten geerbt hatte. Also habe ich diese Mergeinfo entfernt.
Ich benutze TortoiseSVN 1.12.2, Build 28653 - 64 Bit.
quelle