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.