Subversion erlaubt es, Dateien und Ordner umzubenennen oder zu verschieben. Deshalb gibt es im Kontextmenü Befehle für diese Operationen.
Verwenden Sie
→ , um Dateien oder Ordner aus der Versionskontrolle zu entfernen.Wenn Sie mittels „Verändert“ an. Solange Sie das Löschen noch nicht übertragen haben, können Sie das Objekt mittels → auf dem Elternordner wiederherstellen.
→ eine Datei oder einen Ordner löschen, wird das Objekt sofort aus Ihrer Arbeitskopie entfernt und markiert, damit es beim nächsten Übertragen aus dem Projektarchiv gelöscht wird. Das überlagerte Symbol des Elternordners zeigt den StatusWenn Sie eine Datei oder einen Ordner aus dem Projektarchiv löschen, aber lokal noch als unversioniertes Objekt beibehalten wollen, wählen Sie Umschalt-Taste gedrückt halten, während Sie einen Rechtsklick auf ein Objekt im rechten Fenster des Explorers machen, um das erweiterte Kontextmenü zu sehen.
→ . Sie müssen dieWenn ein Objekt über den Explorer anstelle des TortoiseSVN-Menüs gelöscht wird, zeigt Ihnen der Übertragen-Dialog die fehlenden Objekte an und erlaubt Ihnen, diese aus der Versionskontrolle zu entfernen. Wenn Sie allerdings vorher Ihre Arbeitskopie aktualisieren, wird Subversion die fehlenden Objekte erkennen und durch die aktuelle Version aus dem Projektarchiv ersetzen. Falls Sie ein Objekt löschen wollen, das sich in der Versionskontrolle befindet, müssen Sie dazu
→ verwenden, damit Subversion nicht raten muss, was Sie wirklich tun wollen.Wenn Sie eine Datei oder einen Ordner gelöscht und die Löschung bereits ins Projektarchiv übertragen haben, wird ein normaler Rechtsklick und wählen Sie den Befehl → . Als Ziel für diesen Kopierbefehl geben Sie den Pfad zu Ihrer Arbeitskopie an.
→ -Befehl diese nicht wieder zurückbringen können. Aber die Datei oder der Ordner ist nicht verloren. Wenn Sie die Revisionsnummer kennen, in der sie gelöscht wurde (Benutzen Sie den Log-Dialog, um das herauszufinden.), öffnen Sie den Projektarchivbetrachter. Wechseln Sie dann zu der Revisionsnummer, selektieren Sie die Datei oder den gelöschten Ordner,Wenn Sie eine Datei oder einen Ordner an Ort und Stelle umbenennen wollen, wählen Sie
→ . Sie müssen nur noch den neuen Namen angeben.Wenn Sie Dateien innerhalb Ihrer Arbeitskopie, zum Beispiel in einen anderen Ordner, verschieben möchten, können Sie ebenfalls die Ziehen und Ablegen-Funktion mit der rechten Maustaste verwenden:
Wählen Sie die Dateien aus, die Sie verschieben möchten.
Ziehen Sie die Dateien mit gedrückter rechter Maustaste an den neuen Ort.
Lassen Sie die rechte Maustaste los.
Wählen Sie den Befehl
→Da Umbenennen beziehungsweise Verschieben intern in zwei Schritten als Löschen und Hinzufügen implementiert sind, müssen Sie den übergeordneten Ordner des verschobenen/umbenannten Objektes übertragen, damit die Löschung zum Projektarchiv übertragen wird. Wenn Sie das nicht tun, bleiben die lokal gelöschten Objekte im Projektarchiv erhalten und die Arbeitskopien Ihrer Kollegen werden beim Aktualisieren von der Löschung nichts mitbekommen. Das führt dazu, dass sie dann beide, die alte und die neue, Kopie des Objektes enthalten.
Sie müssen einen umbenannten Ordner übertragen, bevor Sie Dateien innerhalb des Ordners bearbeiten. Andernfalls kann Ihre Arbeitskopie sehr durcheinander kommen.
Eine weitere Möglichkeit, Dateien zu kopieren oder zu verschieben, besteht darin, die Kopieren/Ausschneiden-Befehle von Windows zu verwenden. Markieren Sie die gewünschte(n) Datei(en) und rufen Sie per Rechtsklick entweder → oder → aus, je nachdem, ob Sie die Objekte kopieren oder verschieben wollen. Dann navigieren Sie zum Zielordner und fügen die Datei(en) per Rechtsklick → an der gewünschten Stelle ein.
Sie können auch mit Hilfe des Projektarchiv-Betrachters Objekte verschieben. Lesen Sie in „Projektarchivbetrachter“ nach, wie man mit dem Betrachter arbeitet.
Sie sollten niemals Ordner, die auf svn:externals
zeigen, mittels TortoiseSVN Verschieben oder Umbenennen. Dies würde dazu führen, dass das Objekt aus dem externen Projektarchiv gelöscht wird, was voraussichtlich eine Menge Leute verärgern würde. Wenn Sie einen externen Ordner verschieben wollen, sollten Sie dazu den normalen Windows Explorer verwenden und anschließend die svn:externals
-Eigenschaften des Quell- und des Zielordners anpassen.
Wenn das Projektarchiv bereits zwei Dateien mit gleichem Namen, aber unterschiedlicher Groß-/Kleinschreibung (z. B. TEST.TXT
und test.txt
) enthält, können Sie diesen Ordner unter Windows nicht mehr aktualisieren oder auschecken. Während Subversion bei Dateinamen Groß-/Kleinschreibung beachtet, wird sie von Windows ignoriert.
Dies passiert manchmal, wenn aus verschiedenen Arbeitskopien Dateien mit dem gleichen Namen, aber unterschiedlicher Groß-/Kleinschreibung, übertragen werden. Eine weitere Möglichkeit sind Übertragungen aus einem Betriebssystem wie Linux, das Groß-/Kleinschreibung berücksichtigt.
In diesem Falle müssen Sie entscheiden, welche der beiden Dateien Sie behalten möchten und die andere Datei aus dem Projektarchiv löschen oder umbenennen.
Es gibt hier: https://svn.apache.org/repos/asf/subversion/trunk/contrib/hook-scripts/ ein serverseitiges Aktionsskript, das verhindert, dass zwei Dateien mit demselben Namen, aber unterschiedlicher Schreibweise, in das Projektarchiv gelangen.
Manchmal wird Ihre freundliche Entwicklungsumgebung beim Umarbeiten von Projekten Dateien für Sie umbenennen und Subversion nicht davon in Kenntnis setzen. Wenn Sie dann Ihre Änderungen übertragen wollen, zeigt Ihnen Subversion die alte Datei als fehlend und die neue als nicht versioniert an. Sie könnten jetzt einfach die neue Datei übertragen, aber Sie würden dadurch die Historie der Datei verlieren, da Subversion nicht weiß, dass die beiden Dateien zusammenhängen.
Besser ist es, wenn Sie Subversion mitteilen, dass diese Änderung eigentlich eine Umbenennung war. Sie können das in den Übertragen- und Auf Änderung prüfen-Dialogen tun. Markieren Sie einfach beide, die alte (fehlende) und die neue (unversionierte) Datei und wählen Sie → , um die beiden Dateien zu einer Umbenennung zusammenzufassen.
Meistens tragen Sie in Ihre Ignorierliste sämtliche generierten Dateien ein, da diese normalerweise von der Versionierung ausgeschlossen werden sollen. Aber was ist, wenn Sie all diese ignorierten Dateien löschen wollen, um Ihr Projekt sauber generieren zu können? Meistens gibt es eine entsprechende Funktion im Makefile, aber falls es noch kein Makefile gibt oder dieses gerade überarbeitet wird, wäre es nützlich, eine Funktion zum Bereinigen der Arbeitskopie zu haben.
TortoiseSVN stellt eine solche Funktion unter Umschalt-Taste drücken, während Sie einen Rechtsklick auf einen Ordner im rechten Fenster des Explorers machen, um das erweiterte Kontextmenü zu sehen. Daraufhin wird ein Dialog mit sämtlichen nicht versionierten Dateien in Ihrer Arbeitskopie angezeigt, in dem Sie die zu löschenden Objekte auswählen können.
→ zur Verfügung. Sie müssen dieWenn solche Objekte gelöscht werden, werden sie in den Papierkorb verschoben, sodass Sie eine versehentlich gelöschte Datei, die eigentlich versioniert werden sollte, wiederherstellen können.