Fehlende Bereiche Fehlermeldung, wenn ein Zweig in den Stamm in Subversion 1.5 Reintegration
-
20-09-2019 - |
Frage
Ich versuche, einen Entwicklungszweig in den Stamm in meiner Subversion 1.5-Repository reintegrieren. Ich fusionierte alle Änderungen aus dem Stamm zu dem Entwicklungszweig vor dieser Operation. Wenn ich jetzt versuchen, die Änderungen aus der Branche reintegrieren ich folgende Fehlermeldung:
Command: Reintegrate merge https://dev/svn/branches/devel into C:\trunk
Error: Reintegrate can only be used if revisions 280 through 325 were previously
Error: merged from https://dev/svn/trunk to the reintegrate
Error: source, but this is not the case:
Error: branches/devel/images/test
Error: Missing ranges: /trunk/images/test:280-324
...
Die Nachricht geht dann über einige Ordner in meinem Projekt zu beschweren. Aber wenn ich versuche, wieder die Änderungen aus dem Stamm den Entwicklungszweig zu verschmelzen, sagt TortoiseSVN mich, dass es nichts zu verschmelzen (wie ich bereits alle Änderungen fusionierte vor):
Command: Merging revisions 1-HEAD of https://dev/svn/trunk into C:\devel, respecting ancestry
Completed: C:\devel
Ich versuche, die Anweisungen von hier zu folgen: http://svnbook.red-bean.com/en/1.5/svn.branchmerge.basicmerging.html , aber es gibt nichts über ein solches Problem zu lösen.
Irgendwelche Ideen? Vielleicht sollte ich nur den Stamm löschen und dann eine Kopie meiner Filiale machen? Aber ich bin nicht wirklich sicher, ob es sicher ist.
Siehe auch
svn merge mit --reintegrate klagt etwa im Bereich fehlt aber mergeinfo scheint richtig
Lösung
Sie müssen die Revisionen fusionieren R280 zu R324 von Stamm in Ihrer Branche zuerst.
Es scheint, dass Sie bereits R325 in Ihrer Branche zusammengeführt, jedoch --reintegrate Bedürfnisse bekommen alle Revisionen Ihre letzte Revision bis verschmolzen. Es darf keine Lücke sein. Also hier ein wenig Diag:
+----------------------> /branches/devel
/ / \<--merge not working!
--------/-------+--+---+-----+---------> trunk
| \ | / |
280 \ V / 325
V
missing sync merges from trunk to branch
Ich denke, dies ist Ihre Zweigstruktur, so dass Sie alle Änderungen vom Stamm zu Ihrer Branche müssen synchronisiert werden soll. Sie fusionierte nur R325, so dass nur R280-R324 fusionieren und dies nach tun sollten Sie sich gut --reintegrate
zu benutzen,Andere Tipps
Wir sind mit diesem Problem zu kämpfen für ein paar Wochen und wir haben es endlich gelöst.
In unserem Fall haben wir an einem Zweig, der mit allen Revisionen im Stamm auf einer täglichen Basis verschmolzen wurde. Als wir versuchen, es (merge zurück zum Stamm) zur Reintegration haben wir diesen Fehler. Wenn wir die fehlenden Bereiche unserer Branche zu verschmelzen versucht haben wir Nachricht, dass es nichts zu verschmelzen ist. Es geschah in mehreren voneinander unabhängigen Niederlassungen und mit unterschiedlichen Dateien und Ordnern.
Die Lösung bestand darin, die fehlenden Bereiche zum SVN hinzuzufügen:. Mergeinfo Eigenschaft der Datei oder einen Ordner in unserer Branche
Für jede "Fehlende Bereiche: Pfad: revision_range" Zeile in der Nachricht, die Sie bekommen:
- Bearbeiten Sie die svn: mergeinfo Eigenschaft in der Datei / Ordner erwähnt in in das fusionierte Zweig
- Fügen Sie den folgenden: Zeichenfolge am Ende des Immobilienwertes (z / trunk / images / Test: 280-324)
- Speichern Sie die SVN Eigenschaft
Commit alle Änderungen und reintegrate wieder
hatte ich dieses Problem, und es wurde letztlich durch die fehlerhaften SVN Eigenschaften für einen Ordner in meinem Zweig verursacht.
Die Lösung war einfach - ich vom Stamm zu meinem Zweig verschmolzen die spezifische Revisionsnummer, die als fehlend beispiel berichtet worden war
. eingebenUnd dann nur die Angabe, um die Zusammenführung z aufzuzeichnen.
eingebenDiese Aktion richtig meine Niederlassung in Einklang mit Stamm und meine späteren Niederlassung Wiedereingliederung in der Stamm gebracht arbeitete erfolgreich, ohne die fehlenden Bereiche Fehlermeldung.
Diese Technik vermieden jede manuelle Bearbeitung aller svn:. Mergeinfo Eigenschaften gegen alle Dateien / Ordner
habe ich aufgehört, diese Probleme bekommen, wenn ich mit der Option -r svn merge-Befehl gestartet und versuchen, erst die --reintegrate zu tun, nachdem ich ohne sie zusammengeführt hatte. Ich verwende SVN 1.6.1.
Hier ist, was ich tue:
1. wenn von Ast zu Stamm oder Stamm auf den Zweig verschmelzenden, verwende ich die Option -r wie folgt aus:
cd branchWorkArea/topDir
svn merge -r<branchPoint>:HEAD [otheroptions] svn://svn/project/trunk/topDir
-
, wenn ich irgendwelche Konflikte gelöst haben und meinen Code testen, lege ich die Zusammenführung mit dem Zweig und dann den Zweig mit dem Stamm zusammenführen die gleichen grundlegenden Optionen (insbesondere -rBranchPoint: HEAD)
-
, wenn der Stamm getestet und begangen wurde, dann benutze ich die --reintegrate Option zum verschließen der Branche. Achten Sie darauf, die -rbranchPoint. HEAD Option auf sie zu
Für weitere Optionen, habe ich immer verwenden
- Tiefe unendlich (defaults bis ins Unendliche in 1.6.2, aber nicht vor)
-x -b -x -w --ignore-eol-style
Vielleicht habe, ich habe gerade das Glück, aber die Dinge scheinen sicher besser zu arbeiten.
Um den Verzweigungspunkt für eine Filiale zu finden, sind Sie ein svn log --stop-on-kopieren Sie dann auf der Suche nach allerletzten revsion -. Es wird die SVN-Kopie sein, die den Zweig erstellt
das auf Linux tun, ich tue etwas wie folgt aus:
svn log --stop-on-copy svn: // svn / project / trunk / TOPDIR |
grep '^ r' | tail -1 | sed-‚s / ^ r // 1'-e 's /. * // g'
Dies sollte die Revisionsnummer der Verzweigungsstelle drucken.
Viel Glück
Das ist keine Antwort, aber eine Klärung Frage.
Meine Fehlermeldung lautet:
Reintegrate can only be used if revisions 2669 through 3403 were previously merged from
https://../schemas
to the integrate source, but this is not the case:
trunk/schemas:
Missing ranges:
../schemas:2673,2682,2720,2736,2878,2960,3003,3057
Ich fusionierte die Revisionen unter Verwendung der Lösung zur Verfügung gestellt von @ Greg Trevellick, die Fehlermeldung zu erhalten.
Wenn ich öffnen Sie die svn: mergeinfo Eigenschaft nach der Antwort von @pako auf die Schemata-Ordner, den Inhalt sieht aus wie
/branches/repos_develop_os/trunk_branch-os/schemas:3329
/trunk/schemas:2669-2673,2682,2720,2736,2878,2960,3003,3057
Ich bin nicht sicher, wie soll ich diesen Inhalt ändern. Es sieht aus wie die fehlenden Bereiche sind alle da.
Ich hatte gerade dieses Problem und was für mich gearbeitet wurde zu allererst, Synchronisieren der Zweig mit dem Stamm, so dass die Branche die neuesten Updates aus dem Kofferraum haben. Danach habe ich versucht, den Zweig mit dem Stamm Reintegration und hat gut funktioniert.