Wie verschiebe ich eine Datei (oder Ordner) von einem Ordner in einen anderen in TortoiseSVN?
-
09-06-2019 - |
Frage
Ich möchte eine Datei oder einen Ordner von einem Ort zum anderen innerhalb der gleichen Repository verschieben, ohne Repo-Browser zu verwenden, es zu tun, und ohne zwei unabhängige Add erstellen / löschen Operationen. Repo-Browser funktioniert gut, außer dass Ihr Code in einem gebrochenen Zustand hängen, bis Sie alle unterstützenden Änderungen im Nachhinein überprüft (wie die CSPROJ Datei zum Beispiel).
Update: Menschen haben vorgeschlagen, „move“ von der Kommandozeile. Gibt es eine TortoiseSVN Äquivalent?
Lösung
Um eine Datei oder einen Satz von Dateien mit Tortoise SVN
der rechten Maustaste und ziehen Sie die Zieldateien zu ihrem Ziel zu bewegen und lassen Sie die rechte Maustaste. Das Popup-Menü wird eine SVN move versioned files here
Option.
Beachten Sie, dass der Zielordner bereits in das Repository für die SVN move versioned files here
Option hinzugefügt worden sein erscheinen.
Andere Tipps
svn move
- Verschieben einer Datei oder das Verzeichnis
Sie im Windows Explorer mit der rechten Maustaste klicken und ziehen Sie die Datei aus, wo es ist, wo Sie es möchten. Nach dem Loslassen der Taste der rechten Maustaste wird ein Kontextmenü mit Optionen sehen wie „SVN verschieben versioniert Datei hier“.
Unter TortoiseSVN finden Sie auf der folgenden Seite: http: // tortoisesvn. net / docs / release / TortoiseSVN_en / tsvn-Einbaum copy.html
Wenn Sie Dateien wollen, sich bewegen und halten die csproj Dateien auf dem neuesten Stand, ist der einfachste Weg, um ein Visual Studio Plugin wie AnkhSVN . Das wird commit automatisch sowohl die Bewegungsaktion (als Lösch + mit Geschichte hinzufügen, denn das ist, wie Subversion funktioniert) und eine Änderung der CSPROJ
Von der Befehlszeile können Sie svn mv path1 path2
eingeben. Dies wird einen Add und einen Löschvorgang zu erstellen, aber es ist nicht wirklich eine Möglichkeit, um die - soweit ich weiß -. In Subversion
Subversion hat noch nicht ein First-Class-Operationen umbenannt werden.
Es gibt eine 6-jährige Bug auf das Problem: http: / /subversion.tigris.org/issues/show_bug.cgi?id=898
Es wird für 1,6 betrachtet, jetzt, dass merge (höhere Priorität) Tracking wird hinzugefügt (in 1.5).
Verwenden Schildkröte RENAME Befehl ein, und geben Sie einen relativen Pfad ( "Ordner / file.ext").
Wie bereits erwähnt, werden Sie das Add erstellen und Befehle löschen. Sie können svn move sowohl die Arbeitskopie oder die Repository-URL verwenden. Wenn Sie Ihre Arbeitskopie verwenden, werden die Änderungen nicht begangen werden - Sie müssen in einem separaten Arbeitsgang begehen.
Wenn Sie eine URL bewegen Svn, müssen Sie eine --message liefern, und die Änderungen werden sofort im Repository reflektiert werden.
Mit dem svn move
Befehl Datei / Ordner verschieben.