2

プロジェクトを以前の段階にロールバックしたかったので、これを試しました:

svn rm -m "clear out mistakes rolling back" ^/MyProject/trunk
svn copy -m "roll back" -r 165 ^/MyProject/trunk ^/MyProject/trunk

しかし、「ファイルが見つかりません: リビジョン 265、パス ​​'/MyProject/trunk'」というエラーが表示され続けました。265 は HEAD ですが、単に作成するのではなく、既存のリビジョンでターゲット ディレクトリを探す理由がわかりません。

完全な URL を使用しても問題なく動作したため、どうやら問題は ^ 表記にあったようです。

svn copy -m "roll back" <full URL>/MyProject/trunk@165 <full URL>/MyProject/trunk

しかし、最近 ^ 表記を使用して、同様のコピー操作でブランチを作成しました。(クライアントはコマンドライン svn 1.6.17 です。) では、この場合、なぜ機能しなかったのでしょうか?

4

2 に答える 2

3

問題は「-r」と「@rev」にあると思います。意味が異なります。

-r rev <path>--- 有効なリビジョン --- @HEAD がリビジョン "rev" にあった状態を意味します (たとえば、@HEAD が存在しない場合、コマンドは失敗します。リビジョン > rev のパス 2 から置き換え/コピーされた場合、状態は path2@rev です)

path@rev---peg Revision --- は、正確にリビジョン rev でのパスの状態を意味します (この場合、パスが HEAD に存在するかどうかは問題ではなく、path2 から path@HEAD が置き換えられたとしても、状態は path@rev になります)。

詳細はこちらhttp://svnbook.red-bean.com/en/1.6/svn.advanced.pegrevs.html

于 2012-07-21T19:22:05.660 に答える
0

そのファイルを削除し、新しい名前で新しいファイルを追加する必要があります (名前を 1 文字変更しても機能します)。その後、リポジトリで更新されます。

于 2014-11-20T05:56:44.680 に答える