2014-12-15 11 views
15

Wenn ich versuche, "wechseln", um ein Verzeichnis zu einem anderen Zweig zu ändern, bekomme ich eine seltsame Fehlermeldung.Tortoise SVN Switch Branch Befehl Fehler - "teilt keine gemeinsamen Vorfahren"

So wird das Repository eingerichtet, indem es von der Website des Hosts aus betrachtet wird. Früher hatte ich einen Zweig namens "bugfix-lobby-quirks", aber er wurde gelöscht, nachdem ich ihn mit dem Trunk verbunden hatte. Diese und die neuen Feature-in-Game-Gegner-Karten wurden beide vom Stamm abgezweigt.

enter image description here

Jetzt möchte ich aus dem gelöschten Zweig dieser neuen Niederlassung mein aufgegebenes Arbeitskopie „eingeschaltet“ nehmen. Ich habe den Zweig bugfix-lobby-quirks bereits auf meinem Computer ausgecheckt, seit ich gerade daran gearbeitet habe. Was ich tun möchte, ist alles in diesem Ordner auf alles in dem neuen Zweig, den ich wählen, zu wechseln, was nett ist, da sie nicht wirklich alle sind, die unterschiedlich sind. Das ist was Svn Switch bedeutet, oder?

enter image description here

So klicken Sie dann auf I-Schalter und ein Popup kommt. Es erkennt automatisch den Zweig und zeigt ihn in der Liste an, also wähle ich ihn aus.

enter image description here

Leider führt dies zu tun, jedes Mal zu dieser Fehlermeldung.

enter image description here

Es ist nicht ein glücklicher Tag. Es ist ein trauriger Tag.

Ok. Was mache ich falsch?

Antwort

2

Sie könnten schalten ein gelöscht Zweig zu einem aktiven Zweig. Für Subversion existiert dieser Zweig nicht mehr. (Und da es nicht existiert, hat es keine Abstammung).

Gehen Sie zu Ihrer Arbeitskopie Ihrer gelöschten Niederlassung, und sehen Sie, ob Sie eine Aktualisierung auf die Revision machen können, bevor die Niederlassung selbst gelöscht wurde. Dann versuchen Sie den Schalter.

Wenn das nicht funktioniert, müssen Sie undelete Ihre Branche. Dies ist nicht schwierig von der Kommandozeile aus. Lassen Sie uns sagen, dass Ihre Niederlassung wurde in Revision 12345 gestrichen:

$ svn co --set-depth=immediates $URL/branches # Checks out just branch names 
$ cd branches 
$ svn merge -c -12345 .       # Removes branch delete 

Die --set-depth=immediates werden alle Ihre Filialen Kasse, sondern die Projekte unter ihnen nicht zur Kasse. Dies wird eine ziemlich schnelle Überprüfung sein und gibt Ihnen ein Arbeitsverzeichnis Ihres Verzeichnisses /branches. Jetzt können Sie eine umgekehrte Zusammenführung Ihrer löschen, und die Verzweigung wiederherstellen.

Wenn Sie nicht über eine Kasse machen wollen und zusammenführen, können Sie ein tun svn cp wo Sie Kopie der Zweig aus der Revision, bevor es auf die aktuelle Revision gelöscht wurde:

$ svn cp -r12344 $URL/branches/[email protected] $URL/branches 

Dieser Wille Ermöglicht es Ihnen, die Verzweigung wiederherzustellen, ohne vorher einen Checkout durchführen zu müssen.

2

Sie können dies erhalten, weil Sie versucht haben, einen Ihrer Unterordner zu wechseln, anstatt den obersten Ordner zu erstellen. Das heißt, Sie haben versucht, nur Ordnerstamm/Anwendung statt Stamm zu wechseln.

+0

Ähnliches Problem für mich, aber umgekehrt, ich habe den Stammordner statt nur den Stamm/Zweig Unterordner gewechselt – Juan

19

Klicken Sie auf das Kontrollkästchen "Nachkommen ignorieren" im Dialogfeld "Svn Switch".