2016-11-29 5 views
0

In Eclipse habe ich einige Dateien verschoben und umbenannt und verpflichtet. Ich verstehe jetzt, dass ich svn move und svn rename oder Repair move in TortoiseSVN vor dem Festschreiben verwendet haben sollte. Aber ich habe es nicht getan und habe es getan. Jetzt ist der Verlauf für diese Dateien nicht verknüpft. Ist es möglich, die Geschichte wiederherzustellen?Wiederherstellen SVN Geschichte Links nach dem Festschreiben

Ich habe zuvor mit Finsternis gearbeitet und dieses Problem hatte ich nicht. Aber ich habe jetzt kein Subclipse installiert. Ich vermute also, dass bei der Installation von Subclipse das Refactoring-Verhalten von Eclipse geändert wird. Ist das wahr?

Antwort

0

Sobald Sie die Änderungen festgeschrieben haben, besteht die einzige Möglichkeit, dies zu beheben, darin, von vorne zu beginnen. Löschen Sie die Elemente und Commit, und gehen Sie dann zurück und machen Sie einen richtigen Schritt und Commit. Sie können möglicherweise auch svn copy verwenden, um das alte Objekt aus dem Verlauf zu kopieren, falls erforderlich.

Wenn Sie Subclipse beim Refactoring der Dateien verwenden, werden diese automatisch verschoben, so dass Sie dieses Problem nicht haben.

+0

AFAIK Wenn eine Datei gelöscht wird und nach einigen Commits eine neue Datei in denselben Pfad mit demselben Dateinamen geschrieben wird, werden sie als dieselbe Datei betrachtet und ihr Verlauf wird verknüpft. Ist das wahr? – groove

+0

Nein. Der Verlauf basiert nicht auf dem Pfadnamen. SVN weiß, dass ein gelöschtes Objekt das Ende seines Verlaufs ist und dass ein zu erstellendes Objekt der Anfang ist. Es spielt keine Rolle, wenn sie den gleichen Namen haben, –

+0

So löscht die Datei und dann verschieben in der neuen Version nach der Tatsache wird erreichen, was Sie wollen. Das setzt voraus, dass Sie die ursprüngliche Datei auch verschieben müssen. –

Verwandte Themen