| I found a failing test case that I could manually reconstruct, see upcoming 
patch. it has the (simplified) structure A;B;C;D, where
* A and B conflict
* C explicitly depends on A
* D explicitly depends on B and C
Here, darcs reports no conflict i.e. tells us that the conflict A vs. B has 
been resolved. This is correct, since D transitively depends on both A and 
B.
Whereas if we swap B;C to C;B resulting in A;C;B;D, then it does report the 
conflict. Which is incorrect.
Thinking about this test case made me realize that there is a property that 
RepoPatches have but Named patches are missing:
  If we merge A;C with B, where A conflicts with B, and C depends on A,
  then B and C /also/ conflict.
With Named patches this is no longer true, namely if C depends (only) 
explicitly on A. I don't think this is relevant to the bug in question, 
just wanted to mention it here for the record. |