4

リポジトリからトランクとブランチ(B1と呼びましょう)をチェックアウトしました。トランク内のいくつかのリビジョンをB1にマージしたいので、これを実行しています(pwdはB1です)。

svn merge 6057:6068 ../trunk ./

それからSVNは私に言います:

svn: E195002: A working copy merge source needs an explicit revision

エラーメッセージはどういう意味ですか?

4

1 に答える 1

7

-rあなたが旗をやめたように私には見えます。したがって、コマンドはおそらく次のようになります。

svn merge -r 6057:6058 ../trunk ./

マージするためにトランクとブランチの両方をチェックアウトする必要はありません。リポジトリの相対URL構文を使用できます。トランクがリポジトリの/trunkにあり、現在のディレクトリがブランチB1の作業コピーのルートであるとすると、次のように機能するはずです。

svn merge -r 6057:6058 ^/trunk

^/リポジトリのルートURLに置き換えられます。

意図的にチェリーピックを試みていない場合は、リビジョンを完全にオフのままにしておくと、トランクからブランチにすべての変更が反映されます。

最後に、面倒を省いて-c代わりに使用する-rと、次のことができます。

svn merge -c 6058 ^/trunk

使用しているバージョンについては言及していないため、1.6または1.7を使用していない場合は、マイレージがこれによって異なる場合があります。

于 2013-02-20T23:44:03.357 に答える