Darcs creates inconsistent conflictors in a conflict fight scenario
when using darcs-2 format.
In conflict fight scenario we have two repositories A and B. After
pulling from A and finding conflict, B resolves it unilaterally. This
is repeated with each new change pulled from A.
Bug is probably triggered because B reverts to the situation before
first pull. In other words, all the new patches recorded by B are
identical.
Please find attached a test script, output from two test runs, first
with --hashed, second with --darcs-2. The exact-version is included.
Darcs pull --verbose output:
Pulling from "../RA"...
darcs: Inconsistent patch:
conflictor {{
|hunk ./file 1
|-0
|+let it b
|conflictor [
|hunk ./file 1
|-0
|+let it b
|]
||:
|hunk ./file 1
|-0
|+a0
|:
hunk ./file 1
-0
+let it b
|hunk ./file 1
|-0
|+a0
|:
hunk ./file 1
-a0
+a1
|:
hunk ./file 1
-0
+let it b
|:
hunk ./file 1
-0
+a0
}} [
hunk ./file 1
-0
+let it b
]
|hunk ./file 1
|-0
|+a0
|hunk ./file 1
|-a0
|+a1
|:
hunk ./file 1
-a1
+a2
mm conflicts with im in is_consistent where nmm is
{{
|hunk ./file 1
|-0
|+a0
|hunk ./file 1
|-a0
|+a1
|conflictor [
|hunk ./file 1
|-0
|+a0
|hunk ./file 1
|-a0
|+a1
|]
||:
|hunk ./file 1
|-0
|+let it b
|:
hunk ./file 1
-0
+let it b
}}
Command exited with non-zero status 1
|