web-dev-qa-db-de.com

Wie man den Subversion-Status "!"

Das Subversion-Handbuch besagt:

'!'

Element fehlt (z. B. Sie haben es verschoben oder Es ohne Verwendung von svn gelöscht). Diese zeigt auch an, dass ein Verzeichnis .__ ist. unvollständig (eine Überprüfung oder ein Update wurde unterbrochen ).

Wie so oft bei Subversion gibt es jedoch keine Hinweise, wie das Problem behoben werden kann.

Normalerweise würde ich meinen vertrauenswürdigen Fix_Subversion.command verwenden, aber diesmal ist es Trunk und es wird ewig dauern.

Gibt es eine schnellere Option?

49
Martin
svn revert /path/to/file
svn rm /path/to/file      # if you want to delete it from svn itself

Die goldene Regel lautet: Sobald sich etwas unter svn-control befindet, sollten Verschieben, Löschen und Umbenennen mit svn-Befehlen (svn mv, svn rm usw.) erfolgen und keine normalen Dateisystem-/Datei-Explorer-Funktionen verwenden.

56
Wrikken

Was passiert nach dem Lauf:

svn cleanup .
svn update
svn status
18
Ether

Ich habe versucht, die Daten wiederherzustellen, aber das Problem wurde dadurch nicht behoben. Die Lösung, die ich gefunden habe, ist etwas hart, hat aber funktioniert:

  1. benennen Sie den alten Ordner in den neuen Ordner um.
  2. aus dem übergeordneten ausgang ein svn up old_folder
  3. kopiere die Dateien aus dem neuen_Ordner zurück [vermeide, den .svn-Ordner aus dem neuen_Ordner zu kopieren].

ich habe den new_folder gelöscht und auf diese Weise habe ich einen bereinigten old_folder erhalten.

4
dawez

Was genau haben Sie mit dem Zweig gemacht, bevor Sie diesen Fehler erhalten haben?

Wenn Sie regelmäßig Probleme mit SVN haben, machen Sie wahrscheinlich etwas falsch (beispielsweise verwenden Sie mv/rm im Gegensatz zu svn mv/svn rm im Zweig).

1
Zaz

Wenn Sie eine Datei gelöscht haben und diese mit ! markiert ist, führen Sie einfach svn rm --force <filename> aus, um SVN anzuweisen, die Datei auch aus dem Repository zu löschen.

0
Justin