web-dev-qa-db-ja.com

Subversion COPY / MOVE-ファイルが見つかりません:トランザクション 'XXX-XX'

Subversionリポジトリの1つにブランチを作成しようとしていますが、エラーが発生し続けます。何が行われるかは重要ではありません、私は次のことを続けています:

ファイルが見つかりません:トランザクション '3062-2e6'、パス '/ Software/XXXXXX/branchs/testbranch'

上記のメッセージの「3063-3e6」の最初の部分が、リポジトリでコミットされた最後の正常なリビジョンであることに気付きました。私のApacheログはそれ以上の情報を提供しません:

[Wed Nov 24 14:10:38 2010] [error] [client x.x.x.x] Could not MOVE/COPY /svn/p070361/!svn/bc/3049/Software/SXXXXXX/trunk.  [404, #0]
[Wed Nov 24 14:10:38 2010] [error] [client x.x.x.x] Unable to make a filesystem copy.  [404, #160013]
[Wed Nov 24 14:10:38 2010] [error] [client x.x.x.x] File not found: transaction '3059-2e2', path '/Software/XXXXXX/branches/testbranch'  [404, #160013]

これはすべて、SubversionビットをApacheにプロキシするnginxフロントエンドを備えたサーバーで発生しています。他のリポジトリでも問題なく分岐でき、これが発生しているサーバーのコマンドラインからfile:///を使用して分岐を作成できました。このリポジトリのアクセス許可は他のすべてのリポジトリと一致し、ディスク容量は問題ではありません。

5
Steve Platz

おそらくあなたのsvn構造には「Software/XXXXXX/branchs」ディレクトリがありません。ここに「testbranch」を作成するために存在している必要があります。このディレクトリ(「ブランチ」)を手作業で作成してから、ブランチを作成する必要があります。

9

この役に立たないエラーメッセージは、宛先パスにサブディレクトリがまだ存在しない場合に発生する可能性があります。 (svn mkdirを使用して)手動で作成することもできますが、--parentsオプションを使用する方が簡単です。

    svn cp ^/trunk/bigproject ^/branches/experimental/bigproject -m 'test branch'

branchesまたはexperimentalが存在しない場合、コマンドは失敗します。これはうまくいくはずです:

    svn cp --parents ^/trunk/bigproject ^/branches/experimental/bigproject -m 'test branch'
7
Kevin Sadler