3 export DARCS_EMAIL
=test
4 rm -rf tmp_d1 tmp_d2 tmp_d
6 # Set up two repos, each with a patch (d1 and d2 respectively) with both
7 # an individual change and a change that is identical in both repos,
8 # and thus auto-merge, i.e., they don't conflict in darcs2. Pull them
9 # together and record a patch (problem) on top of the auto-merged change,
10 # so that it depends on EITHER of two patches.
12 mkdir tmp_d1
; cd tmp_d1
18 echo a-independent
> a
22 darcs get
--to-patch init tmp_d1 tmp_d2
24 echo b-independent
> b
27 darcs pull
-a ..
/tmp_d1
28 # no conflicts -- c-common is identical
33 # I want to pull the 'problem' patch, but expect darcs to get confused
34 # because it doesn't know how to select one of the two dependent patches.
36 darcs get
--to-patch init tmp_d2 tmp_d
38 echo n
/n
/y |
tr / \\012 |darcs pull ..
/tmp_d2
41 # This is weird, we got d2 though we said No. I would have expected
42 # darcs to skip the 'problem' patch in this case.
44 # Try to pull d1 and unpull d2.
46 darcs pull
-a ..
/tmp_d1
47 exit 1 # darcs hangs here (2.0.2+77)!
48 echo n
/y
/d |
tr / \\012 |darcs obl
-p d2
50 # The obliterate fails with: patches to commute_to_end does not commutex (1)
53 rm -rf tmp_d1 tmp_d2 tmp_d