2013-05-22 4 views
6

マージの機能をSVN(〜TortoiseSVN)から数か月後に使用していると、私はSVNがあまりにも頻繁に矛盾が発生していると感じています。TortoiseSVNのマージアルゴリズムを「より良い」ものに置き換えることは可能ですか?

私は(Tortoise)SVNがユーザーのやりとりなしで自動的に競合を解決する方法を探しています。私はあなたが差分ビューアを交換し、外部のものでツールをマージすることができますことをsimilar questionsと事実を認識してい

:私の理解から

enter image description here

これらのツールチェーンでは遅すぎます。内部アルゴリズムがすでに回復不可能な競合を検出したときにSVN/TortoiseSVNによって呼び出されています。

だから私の質問は以下のとおりです。

  • は正しい動作(内部マージアルゴリズム、外部マージツール)の私の仮定ですか?
  • 内部マージアルゴリズムを(有料)ツールで改善する方法はありますか?

は(私が重要の場合には、VisualSVN ServerおよびV1.7のリポジトリを使用しています)

+3

私の提案が気に入らないのですが、 'svn'マージアルゴリズムを改善する唯一の方法は、代わりに' git'を使用することです – mvp

+0

@mvpええ、おそらく正しい;-) –

答えて

1

まず、亀を行うにはその何も - それはSVNシステムの上だけで非常に素敵なGUIです。

ここで実際に人間の注意を必要とするマージがたくさんあるかもしれません。もしそうなら、gitやMercurialのようなものに動かすことはあなたを助けません。SVNが伝えることができないように、それらのどちらも、あなたが本当に意味するものを知ることはできません。

SVN does its merge algorithmの方法は、ドキュメントを読むことで確認できます。 FYI v1.8にはいくつかの調整があり、再統合マージを行う際の手作業による意思決定がはるかに少ないことを意味するはずです。今は自動的に行われますので、特殊なブランチスタイルのマージを行っていて、間違っていると、それはもはや不平を言うことはありません。彼らはmergeinfoだけでなく、moveのような機能を持っているので、ファイルが新しくも削除されたものでもないと伝えることができるので、過去2つのバージョンのマージに取り組んでいます。

1

それは文脈を推測することは困難だが、競合が検出されている特定にTortoiseSVNのとは何かを持っていることはほとんどありません一般的にはsvnともっと関連しています。 mvpが言っているように、gitはもっと良いでしょう(heh)が、--reintegrateのマージのフラグを見ましたか?どのようにTortoiseSVNから直接使うことができないのか分かりませんが、それは競合を減らすのに非常に役立ちます。

編集View the 'advanced merging' tutorial here

+1

ありがとう!その間、我々はサーバとクライアントの両方でSVN 1.8を使用していましたが、それらは[マージを簡略化する]ために非常に多かったようです(http://subversion.apache.org/docs/release-notes/1.8.html#auto-reintegrate)。私は待って、これが将来のマージでどのように振る舞うかを見てみましょう... –

+1

これは間違いなく別のものです。新しいSVNリビジョンは、一般的なマージ(特にmerginfoのものがあります。svn'ファイルはボーナスです:) –

関連する問題