Wie verschiebe ich eine Datei (oder einen Ordner) in TortoiseSVN von einem Ordner in einen anderen?


247

Ich möchte eine Datei oder einen Ordner innerhalb desselben Repositorys von einem Ort an einen anderen verschieben, ohne dafür den Repo-Browser verwenden zu müssen und ohne zwei unabhängige Add / Delete-Vorgänge zu erstellen. Die Verwendung des Repo-Browsers funktioniert einwandfrei, außer dass Ihr Code in einem fehlerhaften Zustand hängt, bis Sie alle unterstützenden Änderungen erhalten, die anschließend eingecheckt werden (wie zum Beispiel die .csproj-Datei).

Update: Die Leute haben vorgeschlagen, über die Befehlszeile zu verschieben. Gibt es ein TortoiseSVN-Äquivalent?

Antworten:


448

Um eine Datei oder einen Satz von Dateien mit zu verschieben Tortoise SVN, klicken Sie mit der rechten Maustaste und ziehen Sie die Zieldateien an ihr Ziel. Lassen Sie die rechte Maustaste los. Das Popup-Menü hat eine SVN move versioned files hereOption.

Beachten Sie, dass der Zielordner bereits zum Repository hinzugefügt wurde, damit die SVN move versioned files hereOption angezeigt wird.


32
Ich musste das Gleiche tun und das funktionierte perfekt. Ich wusste nie über diese Option Bescheid. Vielen Dank!
DavGarcia

4
Danke dir! Hinweis: Anschließend werden im Änderungsprotokoll eine Reihe von DELETED- und ADDED-Dateien und -Verzeichnissen angezeigt. Der Revisionsverlauf folgt jedoch den umliegenden Dateien. :)
Yoh Suzuki

1
Was mache ich, wenn ich die Datei bereits verschoben habe, aber svn immer noch denkt, dass sie sich in einem anderen Verzeichnis befindet?
Shawn Mclean

4
Sie müssen auch (sicherlich in v1.7.6) sicherstellen, dass das Verzeichnis, in das Sie die Dateien verschieben, bereits Subversion hinzugefügt wurde
icc97

Die legendäre Antwort machte meinen Tag, ty!
Cyril Gandon


22

Klicken Sie im Windows Explorer mit der rechten Maustaste auf die Datei und ziehen Sie sie von der gewünschten Position an die gewünschte Stelle. Wenn Sie die rechte Maustaste loslassen, wird ein Kontextmenü mit Optionen wie "SVN Versionsdatei hierher verschieben" angezeigt.

http://tortoisesvn.net/most-forgotten-feature



5

Wenn Sie Dateien verschieben und die csproj-Dateien auf dem neuesten Stand halten möchten, verwenden Sie am einfachsten ein Visual Studio-Plugin wie AnkhSVN . Dadurch werden automatisch sowohl die Verschiebungsaktion (als Löschen + Hinzufügen mit Verlauf, da Subversion so funktioniert) als auch eine Änderung in der .csproj-Datei festgeschrieben


4

Über die Befehlszeile können Sie eingeben svn mv path1 path2. Dadurch wird ein Addier- und ein Löschvorgang erstellt, aber in Subversion führt - soweit ich weiß - kein Weg daran vorbei.



1

Verwenden Sie den Befehl RENAME von Tortoise und geben Sie einen relativen Pfad ein ("folder / file.ext").


0

Wie bereits erwähnt, erstellen Sie die Befehle zum Hinzufügen und Löschen. Sie können svn move sowohl für Ihre Arbeitskopie als auch für die Repository-URL verwenden. Wenn Sie Ihre Arbeitskopie verwenden, werden die Änderungen nicht festgeschrieben. Sie müssen sie in einem separaten Vorgang festschreiben.

Wenn Sie eine URL verschieben, müssen Sie eine --message angeben, und die Änderungen werden sofort im Repository übernommen.


0

Verwenden Sie den svn moveBefehl, um eine Datei / einen Ordner zu verschieben.


0

Sie müssen die Datei mit der rechten Maustaste ziehen. Sobald Sie die Datei an das neue Ziel freigeben, sehen Sie die Option:

SVN verschiebt hier versionierte Dateien.

Wählen Sie einfach diese Option und Sie sind fertig !!

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.