web-dev-qa-db-ja.com

svnで以前のリビジョンを削除するにはどうすればよいですか?

以前のすべてのリビジョンをクリアし、現在のリビジョンのみを残したいと思います。

これを行う方法はありますか?

これを行うための可能なコマンドが見つかりません:

[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 [〜#〜]

唯一の解決策はエクスポートしてからインポートすることのようですが、svn exportを実行すると、アクセス許可の設定もエクスポートされますか?

1
apache

答えは確かに

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

行うしない使用するsvn export、いくつかの便利なsvn:externals、svn:ignore、svn:executableなどを失う可能性があります。古いリビジョンとロギングはOKですが、通常は保持したいもの:)

可能なauth/access/hook/other構成は、通常、。/ confおよび./hooksディレクトリを古いリポジトリから新しいリポジトリにコピーすることでコピーできます。ハードコードされたパスがない限り、それらは即座に機能するはずです。それらのdirをコピーした後、古いリポジトリと新しいリポジトリのファイル権限を比較してください。

Svn-serverでsvnadminbinを使用します。svnclientではこれを行うことはできません。

2
Wrikken