Wie lösche ich vorherige Revisionen mit SVN?

Wie lösche ich vorherige Revisionen mit SVN?

Ich möchte alle vorherigen Revisionen löschen und nur die aktuelle Revision belassen.

Gibt es eine Möglichkeit, dies zu tun?

Ich finde keinen möglichen Befehl, um dies zu tun:

[secret@vps303 ~]# svnadmin --help
general usage: svnadmin SUBCOMMAND REPOS_PATH  [ARGS & OPTIONS ...]
Type 'svnadmin help <subcommand>' for help on a specific subcommand.
Type 'svnadmin --version' to see the program version and FS modules.

Available subcommands:
   crashtest
   create
   deltify
   dump
   help (?, h)
   hotcopy
   list-dblogs
   list-unused-dblogs
   load
   lslocks
   lstxns
   pack
   recover
   rmlocks
   rmtxns
   setlog
   setrevprop
   setuuid
   upgrade
   verify

AKTUALISIEREN

Die einzige Lösung scheint darin zu bestehen, zu exportieren und dann zu importieren. Werden aber die Einstellungen für die Zugriffsberechtigungen auch exportiert, wenn wir es ausführen svn export?

Antwort1

Die Antwort ist in der Tat

svnadmin dump -r<revisionnumber> /old/repo/path > repo.dmp
svnadmin create /new/repo/path
svnadmin load  /new/repo/path <  repo.dmp

Tunnichtverwenden svn export, könnten Sie einige praktische svn:externals, svn:ignore's, svn:executable und dergleichen verlieren. Ältere Revisionen und Protokolle sind OK, aber die möchten Sie normalerweise behalten :)

Mögliche Auth-/Access-/Hook-/andere-Konfigurationen können Sie normalerweise kopieren, indem Sie die Verzeichnisse ./conf und ./hooks vom alten Repository in das neue kopieren. Solange keine fest codierten Pfade darin enthalten sind, sollten diese sofort funktionieren. Vergleichen Sie nach dem Kopieren dieser Verzeichnisse die Dateiberechtigungen Ihres alten und neuen Repositorys.

Verwenden Sie den Svnadmin-Bin auf dem SVN-Server. Mit einem SVN-Client ist dies nicht möglich.

verwandte Informationen