1

私は現在、TortoiseSVNを使用して2つのブランチのマージを行っていますが、特定のマージシナリオを処理するにはスマートではないことがわかりました。

あるブランチでは、次のような方法があります。

MyMethod(parameter1, parameter2, parameter3)

他のブランチでは、次と同じ方法があります。

MyMethod(parameter1, parameter2, parameter4)

TortoiseMergeは競合があることに気づきましたが、どちらかのメソッドシグネチャを使用するオプションしか提供していません。ただし、私が本当に望んでいるのは、次のように4つのパラメーターすべてを使用して単一のメソッドにマージすることです。

MyMethod(parameter1, parameter2, parameter3, parameter4)

現時点でこの競合を回避できる唯一の方法は、両方のメソッドが存在するように行を解決し、競合が解決された後に手動でファイルに移動して修正することです。

これはまさにその通りですか、それともこのシナリオを処理できるよりスマートなマージツールがどこかにありますか?

4

5 に答える 5

3

理解できません?必要なメソッドシグネチャがどちらのブランチにもないため、プロジェクトはコンパイルされません。さらに悪いことに、マージ後に正しく実行されません。これは紛争よりも危険ではありませんか?おそらく私は明らかな何かを見逃しました。

IMHO TortoiseSVN(またはSVNクライアント)は、競合を報告する際に正しいことを行っています。人間の介入が必要です。

于 2009-10-23T01:27:37.007 に答える
0

AraxisMergeはそのパワーで人気があります。個人的には、SourceGear DiffMergeの方が無料なので、気に入っています。

于 2009-10-23T01:19:39.737 に答える
0

AFAIK、競合として報告することを除いて、これらのシナリオで役立つマージツールはありません

ツールがそれを4つのパラメーターすべてを持つ単一の関数呼び出しにマージする必要があります。

MyMethod(parameter1、parameter2、parameter3、parameter4)

ここに、最初にパラメーター3を配置し、次にパラメーター4を配置するか、またはその逆を配置するかというあいまいさが生じます。

于 2009-12-27T18:00:00.167 に答える
0

これまでのところ、私が求めていることを自動的に実行するツールは見つかりませんでした。それも不可能かもしれません。しかし、私は私が報告すると思った回避策を見つけました。

私は、tortoisesvnによって提供されるデフォルトよりも優れたマージ機能を備えていることがわかったPERFORCEビジュアルマージをインストールすることになりました。私が見つけた素晴らしい機能の1つは、亀のマージがあったかどうかを思い出せないことです。これにより、マージされた結果を表示および編集できるようになります。そのため、必要な行を自動的にマージすることはできませんが、競合を誤って解決し、マージ後に手動で更新する代わりに、その場で競合を編集することができます。

于 2010-02-10T12:19:26.490 に答える
0

TortoiseSVNはこれを処理できないと確信しています。より広義には、他のテキストベースのマージ/差分ツールではできません。これらのツールは使用している言語に依存せず、コードを意味的に理解しないことに注意してください。それらは、コンパイラのように実際に読んだり、それらの文字が表現していることに意味を与えたりすることなく、「文字ごとの」比較を行うだけです。

この種の操作がある程度合法である言語を使用している場合は、その言語に関連するものがあるかどうかを確認できます。

マージ中に編集する機能については、TortoiseSVNが実際にそれを行うことができます。

于 2016-06-15T09:17:16.570 に答える