0

私の特定の 質問は UR DOIN IT WRONG を生み出すように見えるので、問題をレイアウトして、誰かが解決策を提案できるかどうか見てみましょう。

v1、v2など、いくつかの順序付けられたブランチを持つトランクレスSVNリポジトリがあります。「下位」ブランチからの変更は、「上位」ブランチに自動的に伝播されます。おそらく、もうここで働いていないsvn merge誰かによって、何人かの perl スクリプトが一緒にまとめられました。これにより競合が発生する場合、変更は反映されません。代わりに、開発者は電子メールを受け取り、「より高い」ブランチで手動で修正することになっています。彼らは通常これを行いますが、常にではありません。

(注:この「ブランチ」構造がどれほど正気でないかについて私に教えないでください。私はそれをよく知っています。それは確かに私の考えではありませんでした。)

私たちは (「私たち」と言っていますが、私の考えではありませんでした) 「最上位」のブランチを放棄し、そのブランチから次のブランチに変更を移すことにしました。ただし、コードの一部の領域では「より高い」差分は必要ないことはわかっています。手動で修正する必要がある競合が発生するものもあります。他のものは、バージョン番号のみが変更されています (「下位」バージョンのままにしたい)。変更の一部は削除または移動であるため、上位バージョンのファイルを下位バージョンのツリーにコピーして完了と呼ぶことはできません。そして、私は仕事に行き詰まっています。

では、ブランチnからブランチn-1への変更のすべてではなく一部を移動するにはどうすればよいですか?

4

1 に答える 1

0

マージするリビジョンを制限できます。

svn merge -r fromrevision:torevision

したがって、このリビジョンのマージを段階的に行い、使用したくないリビジョンをマージしないでください。

于 2013-02-05T18:20:37.950 に答える