確かに発見したように、既に存在するターゲット ディレクトリへのコピーは機能しません。
svn cp svn://my_project/vendor/1.1 svn://my_project/trunk
トランクが既に存在するため、次のようになります。
svn://my_project/トランク/1.1
マージを使用すると、マージ トラッキングが導入された 1.5 より前の Subversion でベンダー 1.1 タグの履歴が保持されないという不幸な特性があります。あなたは気にしないかもしれません。この場合、マージが正しい解決策になります。
svn co svn://my_project/trunk トランク-wc
svn マージ svn://my_project/trunk svn://my_project/vendor/1.1 trunk-wc
このマージを読む最良の方法は次のとおりです。最初に とtrunk
同一にするために必要な変更を決定しvendor/1.1
、次にそれらの変更を指定された作業コピー (この場合はトランクも) に適用します。
このマージは、以前トランクにあったものを効果的に吹き飛ばすことを指摘しておく必要があります。したがって、トランクにすでにローカル (ベンダー以外) の変更がある場合は、1.1 と以前のベンダー ドロップの間の変更のみを適用する必要があります。
svn co svn://my_project/trunk トランク-wc
svn マージ svn://my_project/vendor/1.0 svn://my_prjoect/vendor/1.1 トランク-wc
トランクが存在するが空の場合は、2 つの選択肢があります。トランクを交換するか、小さなシェル ループを記述します。
トランクを交換すると、次のようになります。
svn rm svn://my_project/トランク
svn cp svn://my_project/vendor/1.1 svn://my_project/trunk
シェルの活用(bash):
svn co svn://my_project/trunk トランク
svn co svn://my_project/vendor/1.1 1.1
( CD 1.1
x in * ; 行う
svn cp $x ../トランク
終わり
)
svn ci トランク