4

しばらく触れていない開発ブランチがあります。メインラインが分岐されて以来、メインラインに多くの修正/変更を統合するためにトランクをマージしましたが、今では多くの小さな競合 (merge-left/merge-right) があります。

各競合を解決するために、最新のトランク リビジョンを使用したいと考えています。作業コピーの下にあるすべての競合を一方向に自動的に解決する実行可能なコマンドはありますか (すべての競合に対してマージ権を使用する必要があります)。

編集: コメントに示されているように、元に戻してから --accept オプションを指定して svn merge を実行しようとしましたが、明らかに SVN 1.0 にはそのようなオプションはありません。まだ解決策を探しています。

4

5 に答える 5

7

svn merge コマンドを発行するときに、「--accept theirs-full」オプションを使用できると思います。それはあなたが望むことをするはずです...

于 2008-11-30T11:14:13.033 に答える
3
svn --version
svn, version 1.6.17 (r1128011)

svn resolve -R --accept='theirs-full' <path>
于 2011-09-19T19:10:27.613 に答える
3

あからさまに言ったよう--accept theirs-fullに、マージを行うときに使用する必要があります。すでにマージを行っていて、最初からやり直したい場合は、svn revert -Rfirst, を使用して最初からやり直すことができます。

この--acceptオプションは、SVN 1.5 の新機能であり、インタラクティブなマージのサポートも備えています。

于 2008-11-30T11:53:55.837 に答える
0

わかりました、私には計画があり、それが私の悩みのほとんどを説明していると思います - (users@subversion への投稿から収集したものです...)

事態を悪化させた次の問題に遭遇したと思います。

  • チェリー ピック マージ + ルート以下のレベルでのマージ (すべて許可されますが、後のマージがより複雑になる可能性があります)
  • マージ コマンドの完了は、すべての変更がマージされたことを意味すると想定しました (mergeinfo --show-revs 適格で再確認しませんでした)。
  • 以前のクライアント (1.5 または 1.6 の初期) にバグがある可能性があります。多くの ubuntu および debian システムがあり、最初は wandisco の更新サイトを認識していませんでした。そのため、最新の状態を維持する簡単な方法を見逃していました。現在、1.6.11 を迅速に展開しています。

プッシュ プロセス:

  1. svn merge --reintegrate --accept ワークスペースへの URL ブランチ パスの延期
  2. svn mergeinfo URL ブランチ パスからワークスペースへ --show-revs 適格 > 適格_revs.txt
  3. 適格なものがなくなるまで繰り返す

PULL プロセス: 同じパターンですが、--reintegrate を除きます

于 2010-05-11T19:59:13.477 に答える
0

「変更の確認」を実行すると、競合するファイルを含むすべてのファイルが表示され、それらをすべて選択してから、「それらを使用して解決する」を選択すると、TSVN がこれを実行できると思います。

TSVN があなたのプラットフォームに関連しているかどうか、またはそれが実際にあなたがやりたいことであるかどうかはわかりませんが、役立つかもしれません...

于 2008-11-30T11:29:32.703 に答える