3
次のケースが見つかりました。隣接行のMercurialマージ競合
$ hg init
$ echo '
> line 1
> line 2
> ' > file.txt
$ hg add file.txt
$ hg commit -m 'added'
$ echo '
> line 11
> line 2
> ' > file.txt
$ hg commit -m 'changed line 1'
$ hg update 0
$ echo '
> line 1
> line 21
> ' > file.txt
$ hg commit -m 'changed line 2'
$ hg merge 1
結果:
マージfile.txtを失敗しました!
HG差分はfile.txt
diff -r bc62305d407b file.txt
--- a/file.txt Fri Jun 17 22:53:22 2011 +0300
+++ b/file.txt Fri Jun 17 22:53:46 2011 +0300
@@ -1,4 +1,9 @@
+<<<<<<< local
line 1
line 21
+=======
+line 11
+line 2
+>>>>>>> other
我々は上記のシナリオをしようとするが、3行と変更を1と2のライン上にある、マージは成功します。 なぜ、これが起こっているのか、私の質問ですか?これはマージアルゴリズムなどの問題ですか?
コメントについてのお詫び。 しかし、私にとっては、これは本当に質問に答えるものではありません。 コミットr1では最初の行のみが変更され、r2では2番目の行が変更されました。 私はこれを_get_ thisにしてファイルの内容を自動的にマージすると期待しています: 'line 11' ' line 21' – Carsten