4

もともとSVN1.6で作成されたリポジトリでsvnadminpackを実行しようとしています。ただし、コマンドが何かを実行していることを示す出力は表示されません。シャードパッキングは、ネイティブ1.6リポジトリに対して自動的に発生しますか(アップグレードされたリポジトリのオンデマンドではありません)?私が期待する出力は次のとおりです。

$ svnadmin pack /var/svn/repos
Packing shard 0...done.
Packing shard 1...done.
Packing shard 2...done.
…
Packing shard 34...done.
Packing shard 35...done.
Packing shard 36...done.
$

しかし、私はちょうど見ています:

$ svnadmin pack /var/svn/repos
$

パックしようとしているリポジトリには16のリビジョンがあり、1000リビジョンを超える他のリポジトリをパックする目的でテストリポジトリとして使用しています。

4

2 に答える 2

10

パッキングは、1000リビジョンのグループ(またはシャードサイズが何であれ)でのみ機能します。リビジョンが16しかない場合、シャードはまだアクティブであり、パックできません。

1000を超えるリビジョンを取得したら、最初のシャードをパックできます。

2000のリビジョンの後、次のシャードをパックすることができます。

より完全な説明は、リリースノートのこの部分にあります。

ああ、実際にあなたの質問に答えるには、それは自動ではありません。まだパックされていない古い完全なシャードをパックするたびに、手動で「svnadminpack」を実行する必要があります。

于 2009-10-28T13:07:09.743 に答える
0

ドキュメントの私の解釈、特にこの行

Subversionは、1.6ファイルシステム形式にアップグレードされた既存のシャードリポジトリをパックできます(私の強調)

packつまり、1.6より前に作成されたリポジトリでのみ実行する必要があります。packしたがって、ネイティブ1.6リポジトリには影響しないと思います。

于 2009-10-28T14:01:35.590 に答える