Umstrukturieren eine Grabung Repository mit Niederlassungen
-
03-07-2019 - |
Frage
Ich versuche, eine Subversion-Repository 1.6 neu zu organisieren, die Filialen hat. Es scheint, dass, wenn Sie eine Datei in dem Kofferraum zu bewegen und diese Datei hat Änderungen in einem Zweig, wenn diese Änderungen in den Zweig verschmolzen werden, sind sie nicht mehr da.
Ich werde versuchen, unten zu veranschaulichen:
1. Repo before move
trunk/a.txt
trunk/b.txt
branches/feature/a.txt
branches/feature/b.txt
2. File branches/feature/b.txt is changed.
3. Repo reorganized
trunk/a.txt
trunk/new-location/b.txt
branches/feature/a.txt
branches/feature/b.txt
4. Changes from trunk merged to feature
trunk/a.txt
trunk/new-location/b.txt
branches/feature/a.txt
branches/feature/new-location/b.txt
Der Ordner branches / Funktion ist eine Kopie von Stamm .
Nach Abschluss des Schrittes 4 wird alle Änderungen von Funktionszweig in Datei b.txt sind nicht mehr da.
Ich dachte, das in svn wurde behoben 1.5?
Wenn dies nicht möglich ist, muss ich noch irgendwie meine ganze repostory reorganisieren. den Umzug zu tun, wenn die Zweige haben alle in die Stamm verschmolzen ist keine Option. Ich habe immer mindestens 1 Zweig und Stamm zu einem beliebigen Zeitpunkt.
Lösung
verschobene Dateien Zusammenführen ist ein bekanntes Problem . Allerdings Subversion warnt Sie mit dieser Nachricht, wenn es nicht das Merge Ziel finden:
Übersprungen fehlt Ziel: 'baz.c'
Wenn Sie diese Meldung sehen, müssen Sie manuelle Maßnahmen ergreifen. Wenn die Datei verschoben wurde und der neue Standort soll die Änderungen erhält, dann können Sie erwägen eine Unterstruktur zwischen den umbenannten Einheiten fusionieren zu tun.
Ich bin von jedem Versionskontrollsystem nicht bewusst, die automatisch so verschmilzt tut Bearbeiten :. Sieht aus wie in mercurial wie verschmilzt tun folgen Kopien
Andere Tipps
Geben Sie Details über die Schritte 3 und 4. Subversion Merges sind nicht das gleiche wie Kopien.
Sie müssen sicherstellen, dass Sie die SVN umbenennen Verfahren für Schritt 3 verwenden, um sicherzustellen, bleibt der Speicherort der Datei mit zukünftigen Änderungen verbunden.
(Ich ziehe diesen eine von ... na ja ich bin mir nicht sicher über die folgenden) Es gibt ein Problem mit Abstammung beim Verschieben / Umbenennen von Dateien. Stellen Sie sicher, dass, wenn Sie verschmelzen die Abstammung Option ignorieren nicht ausgewählt ist.