6

シナリオ:リポジトリ構造が/trunk/から/projectName/trunk / に変更され、ローカル コピーが古くなり、多くの変更が加えられました。

質問:ファイルを更新せずに作業コピーのディレクトリ パスを更新するにはどうすればよいですか。

通常、同じリポジトリ内のディレクトリの変更に対する解決策は、svn switchコマンドを使用することです。問題は、実行時に更新が実行され、作業コピーが古くなり、現在のリビジョンと競合する多くのローカル変更があることです。

私が探しているのは、パスを更新するがファイルを更新しない--relocateスイッチと同じ動作です。このようにして、ローカル コピーの機能を維持しながら、各ファイルのステータスと相違点を個別にチェックする機能を取り戻すことができます (これが私の主な関心事です)。

スイッチ --helpは、競合に対処するためのいくつかの引数を提供しますが、更新を完全に停止するものは何も見つかりませんでした。

何か案は?どうもありがとう。

4

1 に答える 1

9

この特定のケースの解決策は、思ったよりも簡単でした。

svn switchほとんどのファイルを変更せずに残した作業コピーの BASE リビジョン (リポジトリから取得した最後のリビジョン) を指定して、デフォルトでリポジトリの最新リビジョンへの更新を実行します。

svn infoコマンドを発行して、作業コピー (294) の BASE リビジョンを取得しました。

次に、BASE リビジョンで switch コマンドを発行するだけで、リポジトリ パスが更新され、ほとんどのファイルは変更されません。

svn switch -r 294 /projectName/trunk/

于 2012-01-06T13:01:42.983 に答える