fragen stichworte

Wie lösche ich frühere Versionen mit svn?

Ich möchte alle vorherigen Versionen löschen und nur die aktuelle Version belassen.

Gibt es eine Möglichkeit, dies zu tun?

Ich finde keinen möglichen Befehl dafür:

[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

UPDATE

Die einzige Lösung ist der Export und dann der Import. Werden die Zugriffsberechtigungseinstellungen jedoch auch exportiert, wenn svn export ausgeführt wird?

antworten

Die Antwort lautet in der Tat

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

Verwenden Sie nicht, um svn export zu verwenden. Möglicherweise verlieren Sie einige nützliche svn: externals, svn: ignore's, svn: ausführbare Dateien und dergleichen. Ältere Versionen & amp; logging OK, aber die, die Sie normalerweise behalten möchten :)

Mögliche Auth/Access/Hook/andere Konfigurationen, die Sie normalerweise kopieren können, indem Sie die ./conf & amp; ./hooks Verzeichnisse vom alten Repository zum neuen. Solange sich keine fest codierten Pfade darin befinden, sollten diese sofort funktionieren. Nachdem Sie diese Verzeichnisse kopiert haben, vergleichen Sie die Dateiausgaben Ihres alten & amp; neues Repo.

Verwenden Sie die svnadmin-Bin auf dem svn-Server. Dies ist bei einem svn-Client nicht möglich.