svn remove rückgängig machen

Dateien, die mittels svn remove gelöscht wurden, können schnell und einfach mit dem folgenden Befehl wiederhergestellt werden:

$ svn export [Link/zur/Datei/im/Projektarchiv]@[Versionsnummer]

Die Revisionsnummer bezieht sich dabei auf die letzte Revision, in der die Datei noch existierte. Wenn also mit Revision 43 die Datei index.html gelöscht wurde, wählt man folglich Revision 42 um den letzten Stand der Datei vor der Löschung wiederherzustellen:

$ svn export https://subversion.paulchr.ablass.me/svn/starter-kit/trunk/index.html@42

Links

svn export

Nachtrag

In einer älteren Version des Artikels stand, dass Dateien mit svn update -r[Revisionsnummer] [Pfad/zur/Datei] wiederhergestellt werden können. Das ist leider nur halb richtig, da auf diese Weise wiederhergestellte Dateien nach dem nächsten svn update erneut gelöscht werden.

Mit svn export veränderte Dateien wiederherstellen

Mit svn export kann durch Angabe des -r-Parameters ein älterer Stand einer Datei wiederhergestellt werden:
Beispiel:

$ svn export [Pfad/zur/Datei/im/Repo] -r[Revisionsnummer] [Pfad/zum/neuen/Dateispeicherort]

Lies: Exportiere Datei X aus Revision Y zu Speicherort Z.
Ein echtes Beispiel:

$ svn export sass/style.scss -r42 ~/Desktop/style.scss

Die Datei style.scss wird mit dem Stand aus Revision 42 aus dem Projektarchiv auf den Desktop exportiert.

Links

svn export

SVN: Dateien und Ordner ignorieren

Um zu verhindern, dass bestimmte Dateien oder Ordner in das Projektarchiv übermittelt werden, können sie mittels eines einfachen Befehls ignoriert werden:

$ svn propset svn:ignore "style.css" .

Dieses Vorgehen ist projektabhängig, d.h. dass in jedem Projekt in dem die Datei style.css ignoriert werden soll die ignore-Eigenschaft erneut gesetzt werden muss. Dafür gilt diese ignore-Regel allerdings für jeden Nutzer, der das Projektarchiv auscheckt.

Gut zu wissen

Der schließende . ist wichtig, da er SVN sagt dass wir uns im Zielordner befinden.

Links

How to remove a file/folder from a SVN repository and add to the ignore list
How to … Make Subversion ignore files and folders