Entfernen Sie die Datei aus dem SVN-Repository, ohne die lokale Kopie zu löschen

217

Wie kann ich eine Datei "löschen", die sich bereits im SVN-Repository befindet, ohne sie aus meinem Dateisystem zu löschen?

TortoiseSVN oder Befehlszeilenanweisungen sind willkommen.

Folgendes funktioniert, aber ich hoffe auf etwas Schöneres:

  1. Kopieren Sie die Datei an einen anderen Speicherort außerhalb des Repositorys.
  2. SVN Löschen Sie die Datei.
  3. Verpflichten
  4. Kopieren Sie die Dateien zurück und ignorieren Sie sie bei zukünftigen Commits.
srmark
quelle

Antworten:

265
svn delete --keep-local the_file
Phihag
quelle
4
Ich erhalte die Option "svn: ungültig: --keep-local" - Liegt es daran, dass ich auf 1.4.6 bin?
Barfoon
7
@barfoon: Ja, --keep-local ist nur in SVN 1.5.0+ verfügbar. Ich fürchte, Sie müssen die Datei vorher manuell kopieren oder anschließend mit svn cat auschecken.
Phihag
4
Und denken Sie daran, nach dieser Operation ein Commit durchzuführen.
Teemu Leisti
4
Wenn Benutzer aktualisieren, erhalten sie die neueste Version aus dem Repository. Da in der Frage gefragt wird, wie eine Datei aus dem Repository gelöscht werden soll, wird bei anderen Benutzern die Datei beim Aktualisieren entfernt.
Phihag
4
Das wollte ich vermeiden. Es ist so schwer, etwas aus SVN zu löschen, wenn etwas versehentlich eingecheckt wurde ...
BrDaHa
104

Dateien und Ordner löschen

Wenn Sie ein Element aus dem Repository löschen möchten, es jedoch lokal als nicht versionierte Datei / Ordner beibehalten möchten, verwenden Sie das erweiterte Kontextmenü → Löschen (lokal halten). Sie müssen die Umschalttaste gedrückt halten, während Sie mit der rechten Maustaste auf das Element im Explorer-Listenbereich (rechter Bereich) klicken, um dies im erweiterten Kontextmenü anzuzeigen.

Vollständig löschen:
Rechtsklick → Menü → Löschen

Löschen & Lokal halten:
Umschalt + Rechtsklick → Menü → Löschen

Crashmstr
quelle
61

In TortoiseSVN können Sie auch mit der Shiftrechten Maustaste klicken, um ein Menü mit "Löschen (lokal halten)" aufzurufen.

Harpo
quelle
0

Benennen Sie Ihre Datei um, übernehmen Sie die Änderungen einschließlich der "gelöschten" Datei und schließen Sie die neue (umbenannte) Datei nicht ein.

Benennen Sie Ihre Datei wieder um.

Avram
quelle
-2

Wenn Sie eine xxx.java-Datei aus SVN entfernen möchten:

  1. Wechseln Sie zum Arbeitsbereichspfad, in dem sich die Datei befindet.
  2. Löschen Sie diese Datei aus dem Ordner (xxx.java)
  3. Klicken Sie mit der rechten Maustaste und bestätigen Sie, dann öffnet sich ein Fenster.
  4. Wählen Sie die gelöschte Datei (xxx.java) aus dem Ordner aus und klicken Sie erneut mit der rechten Maustaste und löschen Sie sie. Dadurch wird die Datei aus SVN entfernt.
Pavan
quelle
2
Dadurch wird die Datei gelöscht - aber geht es nicht darum, die Originaldatei beizubehalten, nachdem sie aus SVN entfernt wurde?
Timothy Jones