[winmerge] 自動マージが行われるべき箇所で、自動マージが行われない場合がある

482 views
Skip to first unread message

ohira

unread,
Feb 27, 2017, 2:27:36 AM2/27/17
to mercurial-ja
いつもお世話になっております。
おおひらです。

winmergeuでのマージの際にまれに自動マージが行われるべき箇所で
行われずにそのままになってしまうという現象が見つかりました。

経緯:
hg コマンドを使用したマージの際にコンフリクトが発生した場合、
winmergeuを起動するように設定していました。
3方向マージ機能を使って base, other, local を winmergeuに渡して outfileに書き出す設定です。
ところが、otherで行われた修正の一部がmergeされていないという現象が発生したのです。

起動時に /ar オプションを指定して、local側に自動マージされる設定を行っています。
コンフリクトが発見された部分については手作業で操作して問題ないのですが、

コンフリクトが発生したファイル内の他の差異について
自動マージが行われるべきところで、自動マージが行われずそのまま
になってしまうという現象です。(/ar の場合に水色のまま残るのはおかしい)

元々は hg flow promote で発生した現象のため、hg flow , hg と winmergeu の相性の問題ではないかと
疑ったのですが、hg と関係無く三種のファイルを渡しても再現するためwinmerge単体の問題のようです。

コマンドライン
winmergeu /e /ub /fr /ar /wl /wm /dl base /dm other /dr local basefile otherfile localfile /o outputfile

起動画面




winmerge起動直後の表示(コンフリクトした箇所に表示が移動)



location pane の水色に表示されている部分までguiを操作して移動(自動マージが行われるべきところで、そのまま残っている)


winmergeの起動コマンドの説明

winmergeのbitbucket課題

ohira

unread,
May 11, 2017, 4:26:35 AM5/11/17
to mercurial-ja
いつもお世話になっております。

おおひらです。

winmergeで発生する自動マージが行われない現象について
発生した実ソースを渡すことができないため再現ができないという問題がありましたが
hg digestline を使うことで問題の無い再現用のテキストファイルを作成することができました。

ありがとうございます。 
basefile
localfile
otherfile
Reply all
Reply to author
Forward
0 new messages