Reinier Lamers <[email protected]> added the comment: Hi,
This looks as if it doesn't break things, so I am applying it. I do have a question about the generated data files below however, out of curiosity :) > New patches: > > [resolve issue1809: don't call modernizePatch during conversion > Ganesh Sittampalam <[email protected]>**20101016224848 > Ignore-this: 884eedd93a6718c791494c995eedcc03 > > The call to modernizePatch was introduced to fix issue744, but: > (a) It seems to have been ineffective as it's only called for > patches where isMerger is true, so none of the patch transformations > can kick in. > (b) It had the apparently unwanted side-effect of completely disabling > any attempts to convert mergers into conflictors. > > This patch reverts that, and adds some test material for the > 'darcs convert' command. > > hunk ./src/Darcs/Commands/Convert.lhs 189 > Just d -> p : concatMap fixDep d > Nothing -> [p] > convertOne :: Patch C(x y) -> FL RealPatch C(x y) > - convertOne x | isMerger x = case mergeUnravelled $ publicUnravel $ > modernizePatch x of > + convertOne x | isMerger x = case mergeUnravelled $ publicUnravel x > of So this is the real change here: we remove a call to modernizePatch. Notice the "isMerger" guard, which means that modernizePatch will never be invoked on the ComP patches that contain the weird "mv a b ; add b" sequences that it is supposed to get rid of. > hunk ./src/Darcs/Patch/Prim.lhs 953 > then Nothing > else Just $ before : tok : rest > > -modernizePrim :: Prim C(x y) -> FL Prim C(x y) > -modernizePrim (Split ps) = concatFL $ mapFL_FL modernizePrim ps > -modernizePrim p = p :>: NilFL > - > instance MyEq Prim where > unsafeCompare (Move a b) (Move c d) = a == c && b == d > unsafeCompare (DP d1 p1) (DP d2 p2) > hunk ./src/Darcs/Patch/V1/Commute.lhs 693 > isHunk p = do PP p' <- return p > isHunk p' > > --- |@modernizePatch@ is used during conversion to Darcs 2 format. > --- It does the following: > --- > --- * removes mergers by linearising them, thus removing the ability > --- to commute them > --- > --- * drops mv a b ; add b which was introduced by an error in earlier > --- versions of darcs (TODO: check this; identify the versions) > -modernizePatch :: Patch C(x y) -> Patch C(x y) > -modernizePatch p@(Merger _ _ _ _) = fromPrims $ effect p > -modernizePatch p@(Regrem _ _ _ _) = fromPrims $ effect p > -modernizePatch (ComP ps) = ComP $ filtermv $ mapFL_FL modernizePatch ps > - where filtermv :: FL Patch C(x y) -> FL Patch C(x y) > - filtermv (PP (Move _ b :: Prim C(x z)):>:xs) > - | IsEq <- hasadd xs = filtermv xs > - where hasadd :: FL Patch C(a b) -> EqCheck C(x z) > - hasadd (PP (FP b' AddFile):>:_) | b' == b = > unsafeCoerceP IsEq > - hasadd (PP (DP b' AddDir):>:_) | b' == b = unsafeCoerceP > IsEq > - hasadd (PP (FP b' RmFile):>:_) | b' == b = NotEq > - hasadd (PP (DP b' RmDir):>:_) | b' == b = NotEq > - hasadd (_:>:z) = hasadd z > - hasadd NilFL = NotEq > - filtermv (x:>:xs) = x :>: filtermv xs > - filtermv NilFL = NilFL > - > -modernizePatch (PP p) = fromPrims $ modernizePrim p > - > instance FromPrims Patch where > fromPrims (p :>: NilFL) = PP p > fromPrims ps = joinPatchesFL $ mapFL_FL PP ps And so we completely remove modernizePatch. It is apparently unused now. In the following primitive patches, Ganesh adds a test for the convert command. It uses data files in the tests/data/convert directory. > addfile ./tests/bin/convert-writer.sh > hunk ./tests/bin/convert-writer.sh 1 > +#!/usr/bin/env bash > hunk ./tests/bin/convert-writer.sh 3 > +## Copyright (C) 2009 Ganesh Sittampalam > +## > +## Permission is hereby granted, free of charge, to any person > +## obtaining a copy of this software and associated documentation > +## files (the "Software"), to deal in the Software without > +## restriction, including without limitation the rights to use, copy, > +## modify, merge, publish, distribute, sublicense, and/or sell copies > +## of the Software, and to permit persons to whom the Software is > +## furnished to do so, subject to the following conditions: > +## > +## The above copyright notice and this permission notice shall be > +## included in all copies or substantial portions of the Software. > +## > +## THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, > +## EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF > +## MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND > +## NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS > +## BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN > +## ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN > +## CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE > +## SOFTWARE. > + > +# This script is a convenient hack for generating test material > +# for convert.sh. > + > +# To generate new test material, move this into the tests > +# directory temporarily, set up the test repo in the relevant > +# section of this code, set the test name, then > +# 'cabal test convert-writer.sh', then manually inspect the > +# test data and/or play with the repo it made to be sure it's > +# as wanted. > + > +# Note that the script is deliberately setup to fail so we > +# can inspect the output of darcs convert, and also get hold of > +# the generated test repos easily for playing with. > + > +. lib > + > +# only run this once > +grep darcs-2 $HOME/.darcs/defaults || exit 200 > + > +rm -rf temp > +mkdir temp > +cd temp > + > +# set up the test repo here > +mkdir repo > +cd repo > +darcs init --hashed > +echo wibble > wibble > +darcs rec -lam 'wibble' > +cd .. > + > +darcs get repo repoA > +cd repoA > +echo 'A' >> wibble > +darcs rec -lam 'A' > +cd .. > + > +darcs get repo repoB > +cd repoB > +echo 'B' >> wibble > +darcs rec -lam 'B' > +cd .. > + > +darcs get repoA repoAB > +cd repoAB > +darcs pull -a --allow-conflicts ../repoB > +echo 'AB' >> wibble > +darcs rec -lam 'AB' > +cd .. > + > +darcs get repo repoC > +cd repoC > +echo 'C' >> wibble > +darcs rec -lam 'C' > +cd .. > + > +darcs get repoAB repoABC > +cd repoABC > +darcs pull -a --allow-conflicts ../repoC > +echo 'ABC' >> wibble > +darcs rec -lam 'ABC' > +cd .. > + > +darcs get repo repoD > +cd repoD > +echo 'D' >> wibble > +darcs rec -lam 'D' > +cd .. > + > + > +cd repo > +darcs pull -a --allow-conflicts ../repoABC > +darcs pull -a --allow-conflicts ../repoD > +cd .. > + > +# end test repo setup: change the test name below too > +testname=tworesolutions > + > +echo 'I understand the consequences of my action' | darcs convert repo repo2 > + > +mkdir empty-hashed > +cd empty-hashed > +darcs init --hashed > +cd .. > + > +mkdir empty-darcs2 > +cd empty-darcs2 > +darcs init --darcs-2 > +cd .. > + > +cd repo > +darcs send -a -o $TESTDATA/convert/darcs1/$testname.dpatch ../empty-hashed > +cd .. > + > +cd repo2 > +darcs send -a -o $TESTDATA/convert/darcs2/$testname.dpatch ../empty-darcs2 > +cd .. > + > +# fail so we can see the output > +exit 1 This is a script called convert-writer that creates repositories that contain conflicts and resolutions in a couple of ways. It only creates hunk-hunk conflicts though. It was used to make the test data in tests/data/convert. > addfile ./tests/convert.sh > hunk ./tests/convert.sh 1 > +#!/usr/bin/env bash > + > +## Tests for convert command based on previously checked results > +## to generate new test material for this test, > +## see bin/convert-writer.sh > +## > +## Copyright (C) 2009 Ganesh Sittampalam > +## > +## Permission is hereby granted, free of charge, to any person > +## obtaining a copy of this software and associated documentation > +## files (the "Software"), to deal in the Software without > +## restriction, including without limitation the rights to use, copy, > +## modify, merge, publish, distribute, sublicense, and/or sell copies > +## of the Software, and to permit persons to whom the Software is > +## furnished to do so, subject to the following conditions: > +## > +## The above copyright notice and this permission notice shall be > +## included in all copies or substantial portions of the Software. > +## > +## THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, > +## EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF > +## MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND > +## NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS > +## BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN > +## ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN > +## CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE > +## SOFTWARE. > + > +. lib > + > +grep old-fashioned $HOME/.darcs/defaults || grep hashed > $HOME/.darcs/defaults || exit 200 > + > +runtest() { > + rm -rf temp > + mkdir temp > + cd temp > + > + mkdir repo > + cd repo > + darcs init > + darcs apply --allow-conflicts $TESTDATA/convert/darcs1/$1.dpatch > + cd .. > + echo 'I understand the consequences of my action' | darcs convert repo > repo2 > + mkdir empty-darcs2 > + cd empty-darcs2 > + darcs init --darcs-2 > + cd .. > + cd repo2 > + darcs send -a -o ../$1-darcs2.dpatch ../empty-darcs2 > + cd .. > + diff -I'1 patch for repository ' -I'patches for repository ' -u > $TESTDATA/convert/darcs2/$1.dpatch $1-darcs2.dpatch > +} > + > +runtest simple > +runtest twowayconflict > +runtest threewayconflict > +runtest threewayanddep > +runtest threewayandmultideps > +runtest resolution > +runtest tworesolutions So this is the actual test scripts. For every .dpatch file from the data directory, it applies it to an empty repo, converts the resulting repo to darcs-2, and compares the repository contents to a stored reference copy. Now follows the test data (both the darcs-1 input and darcs-2 reference copies). In for example the files test/data/convert/darcs1/resolution.dpatch and tests/data/convert/darcs2/resolution.dpatch, we see that it is tested that mergers are turned into conflictors. Comparing the darcs-1 and darcs-2 versions of these files is actually a good way to learn how darcs handles conflicts :) I have a question about tests/data/convert/darcs2threewayandmultipdeps.dpatch. It contains an empty patch B2. If I apply the bundle to an empty repo, I can unpull B2 just fine without unpulling anything else. This surprises me quite a bit. Is this an example of the lossy conversion done by 'darcs convert'? > adddir ./tests/data/convert > adddir ./tests/data/convert/darcs1 > addfile ./tests/data/convert/darcs1/resolution.dpatch > hunk ./tests/data/convert/darcs1/resolution.dpatch 1 > +5 patches for repository /tmp/tmp6648/temp/empty-hashed: > + > +Sat Oct 16 23:32:07 BST 2010 tester > + * wibble > + > +Sat Oct 16 23:32:07 BST 2010 tester > + * A > + > +Sat Oct 16 23:32:07 BST 2010 tester > + * B > + > +Sat Oct 16 23:32:07 BST 2010 tester > + * AB > + > +Sat Oct 16 23:32:07 BST 2010 tester > + * C > + > +New patches: > + > +[wibble > +tester**20101016223207 > + Ignore-this: 64b5a1e603ddf61e59421bdde45b3bc > +] { > +addfile ./wibble > +hunk ./wibble 1 > ++wibble > +} > +[A > +tester**20101016223207 > + Ignore-this: bc0d30ac5170e1a25ccb20e6cb06ac86 > +] hunk ./wibble 2 > + wibble > ++A > +[B > +tester**20101016223207 > + Ignore-this: 3bbebcf8fa444bdcb31ab799c6754067 > +] merger 0.0 ( > +hunk ./wibble 2 > ++A > +hunk ./wibble 2 > ++B > +) > +[AB > +tester**20101016223207 > + Ignore-this: 8fa03d26b9dbbcdb50a323e5c58b16dd > +] hunk ./wibble 2 > + wibble > ++AB > +[C > +tester**20101016223207 > + Ignore-this: e7c0716361e411645066f8a3c2eff769 > +] merger 0.0 ( > +hunk ./wibble 2 > ++AB > +merger 0.0 ( > +merger 0.0 ( > +hunk ./wibble 2 > ++A > +hunk ./wibble 2 > ++B > +) > +merger 0.0 ( > +hunk ./wibble 2 > ++A > +hunk ./wibble 2 > ++C > +) > +) > +) > + > +Context: > + > +Patch bundle hash: > +b23d175b10d6fdaee3bb25ac92b55723de2822cd > addfile ./tests/data/convert/darcs1/simple.dpatch > hunk ./tests/data/convert/darcs1/simple.dpatch 1 > +1 patch for repository /tmp/tmp5746/temp/empty-hashed: > + > +Sat Oct 16 23:28:30 BST 2010 tester > + * wibble > + > +New patches: > + > +[wibble > +tester**20101016222830 > + Ignore-this: f155bc27211e0233c23b8c0a757b8071 > +] { > +addfile ./wibble > +hunk ./wibble 1 > ++wibble > +} > + > +Context: > + > +Patch bundle hash: > +1bfa82f0941e1dcc13f9f94179dd6a7426ca0b6f > addfile ./tests/data/convert/darcs1/threewayanddep.dpatch > hunk ./tests/data/convert/darcs1/threewayanddep.dpatch 1 > +5 patches for repository /tmp/tmp5530/temp/empty-hashed: > + > +Sat Oct 16 23:27:54 BST 2010 tester > + * wibble > + > +Sat Oct 16 23:27:54 BST 2010 tester > + * A1 > + > +Sat Oct 16 23:27:54 BST 2010 tester > + * A2 > + > +Sat Oct 16 23:27:54 BST 2010 tester > + * B > + > +Sat Oct 16 23:27:54 BST 2010 tester > + * C > + > +New patches: > + > +[wibble > +tester**20101016222754 > + Ignore-this: 355914edd0f88f0ea7c2ef60aec9c2a1 > +] { > +addfile ./wibble > +hunk ./wibble 1 > ++wibble > +} > +[A1 > +tester**20101016222754 > + Ignore-this: 54df34ebd488b772c37c3d43a38b0bfa > +] hunk ./wibble 2 > + wibble > ++A1 > +[A2 > +tester**20101016222754 > + Ignore-this: 4d1b08c7274743e7d0d2f210518d5a19 > +] hunk ./wibble 3 > + wibble > + A1 > ++A2 > +[B > +tester**20101016222754 > + Ignore-this: 9ba51da6bb1506afa2104326cd5df54b > +] merger 0.0 ( > +hunk ./wibble 3 > ++A2 > +merger 0.0 ( > +hunk ./wibble 2 > ++A1 > +hunk ./wibble 2 > ++B > +) > +) > +[C > +tester**20101016222754 > + Ignore-this: 295e8a851b7a936b3d08b0ce7eaaf2ac > +] merger 0.0 ( > +merger 0.0 ( > +hunk ./wibble 3 > ++A2 > +merger 0.0 ( > +hunk ./wibble 2 > ++A1 > +hunk ./wibble 2 > ++B > +) > +) > +merger 0.0 ( > +hunk ./wibble 3 > ++A2 > +merger 0.0 ( > +hunk ./wibble 2 > ++A1 > +hunk ./wibble 2 > ++C > +) > +) > +) > + > +Context: > + > +Patch bundle hash: > +3c77da1c02a49215134a9607493af93d55608f56 > addfile ./tests/data/convert/darcs1/threewayandmultideps.dpatch > hunk ./tests/data/convert/darcs1/threewayandmultideps.dpatch 1 > +7 patches for repository /tmp/tmp5411/temp/empty-hashed: > + > +Sat Oct 16 23:27:21 BST 2010 tester > + * wibble > + > +Sat Oct 16 23:27:21 BST 2010 tester > + * A1 > + > +Sat Oct 16 23:27:21 BST 2010 tester > + * A2 > + > +Sat Oct 16 23:27:21 BST 2010 tester > + * B1 > + > +Sat Oct 16 23:27:21 BST 2010 tester > + * B2 > + > +Sat Oct 16 23:27:21 BST 2010 tester > + * C1 > + > +Sat Oct 16 23:27:21 BST 2010 tester > + * C2 > + > +New patches: > + > +[wibble > +tester**20101016222721 > + Ignore-this: 64432ba123d81c8f0e688b44feb8f587 > +] { > +addfile ./wibble > +hunk ./wibble 1 > ++wibble > +} > +[A1 > +tester**20101016222721 > + Ignore-this: d749f48333e6ff2e994b1df71e76933b > +] hunk ./wibble 2 > + wibble > ++A1 > +[A2 > +tester**20101016222721 > + Ignore-this: 6f006a52975a708a8038d52e5e39ef0f > +] hunk ./wibble 3 > + wibble > + A1 > ++A2 > +[B1 > +tester**20101016222721 > + Ignore-this: f4d4b5b1c73bd6fa8abe6e5e680d66a7 > +] merger 0.0 ( > +hunk ./wibble 3 > ++A2 > +merger 0.0 ( > +hunk ./wibble 2 > ++A1 > +hunk ./wibble 2 > ++B1 > +) > +) > +[B2 > +tester**20101016222721 > + Ignore-this: 1d60b6c0ba913fff4d1e32ad26ae07bb > +] merger 0.0 ( > +merger 0.0 ( > +merger 0.0 ( > +hunk ./wibble 2 > ++A1 > +hunk ./wibble 2 > ++B1 > +) > +hunk ./wibble 3 > ++A2 > +) > +merger 0.0 ( > +merger 0.0 ( > +hunk ./wibble 2 > ++B1 > +hunk ./wibble 2 > ++A1 > +) > +hunk ./wibble 3 > ++B2 > +) > +) > +[C1 > +tester**20101016222721 > + Ignore-this: 25b6a6959d19980ad16983a542c6825 > +] merger 0.0 ( > +merger 0.0 ( > +merger 0.0 ( > +merger 0.0 ( > +hunk ./wibble 2 > ++A1 > +hunk ./wibble 2 > ++B1 > +) > +hunk ./wibble 3 > ++A2 > +) > +merger 0.0 ( > +merger 0.0 ( > +hunk ./wibble 2 > ++B1 > +hunk ./wibble 2 > ++A1 > +) > +hunk ./wibble 3 > ++B2 > +) > +) > +merger 0.0 ( > +merger 0.0 ( > +hunk ./wibble 3 > ++A2 > +merger 0.0 ( > +hunk ./wibble 2 > ++A1 > +hunk ./wibble 2 > ++B1 > +) > +) > +merger 0.0 ( > +hunk ./wibble 3 > ++A2 > +merger 0.0 ( > +hunk ./wibble 2 > ++A1 > +hunk ./wibble 2 > ++C1 > +) > +) > +) > +) > +[C2 > +tester**20101016222721 > + Ignore-this: c16d607216c36d5f7727c64d2ec103d4 > +] merger 0.0 ( > +merger 0.0 ( > +merger 0.0 ( > +merger 0.0 ( > +hunk ./wibble 3 > ++A2 > +merger 0.0 ( > +hunk ./wibble 2 > ++A1 > +hunk ./wibble 2 > ++B1 > +) > +) > +merger 0.0 ( > +hunk ./wibble 3 > ++A2 > +merger 0.0 ( > +hunk ./wibble 2 > ++A1 > +hunk ./wibble 2 > ++C1 > +) > +) > +) > +merger 0.0 ( > +merger 0.0 ( > +merger 0.0 ( > +hunk ./wibble 2 > ++A1 > +hunk ./wibble 2 > ++B1 > +) > +hunk ./wibble 3 > ++A2 > +) > +merger 0.0 ( > +merger 0.0 ( > +hunk ./wibble 2 > ++B1 > +hunk ./wibble 2 > ++A1 > +) > +hunk ./wibble 3 > ++B2 > +) > +) > +) > +merger 0.0 ( > +merger 0.0 ( > +merger 0.0 ( > +hunk ./wibble 3 > ++A2 > +merger 0.0 ( > +hunk ./wibble 2 > ++A1 > +hunk ./wibble 2 > ++C1 > +) > +) > +merger 0.0 ( > +hunk ./wibble 3 > ++A2 > +merger 0.0 ( > +hunk ./wibble 2 > ++A1 > +hunk ./wibble 2 > ++B1 > +) > +) > +) > +merger 0.0 ( > +merger 0.0 ( > +merger 0.0 ( > +hunk ./wibble 2 > ++A1 > +hunk ./wibble 2 > ++C1 > +) > +hunk ./wibble 3 > ++A2 > +) > +merger 0.0 ( > +merger 0.0 ( > +hunk ./wibble 2 > ++C1 > +hunk ./wibble 2 > ++A1 > +) > +hunk ./wibble 3 > ++C2 > +) > +) > +) > +) > + > +Context: > + > +Patch bundle hash: > +1069761dac242f9583871b27db2fabbd00d6f805 > addfile ./tests/data/convert/darcs1/threewayconflict.dpatch > hunk ./tests/data/convert/darcs1/threewayconflict.dpatch 1 > +4 patches for repository /tmp/tmp5605/temp/empty-hashed: > + > +Sat Oct 16 23:28:14 BST 2010 tester > + * wibble > + > +Sat Oct 16 23:28:14 BST 2010 tester > + * A > + > +Sat Oct 16 23:28:14 BST 2010 tester > + * B > + > +Sat Oct 16 23:28:14 BST 2010 tester > + * C > + > +New patches: > + > +[wibble > +tester**20101016222814 > + Ignore-this: c125275c671c210086eccb12de9f6c1c > +] { > +addfile ./wibble > +hunk ./wibble 1 > ++wibble > +} > +[A > +tester**20101016222814 > + Ignore-this: 653be63c1f8a6f4bc1de1e45c0ae9084 > +] hunk ./wibble 2 > + wibble > ++A > +[B > +tester**20101016222814 > + Ignore-this: 1a8e3f57d2baeca09f2dda003e4df58d > +] merger 0.0 ( > +hunk ./wibble 2 > ++A > +hunk ./wibble 2 > ++B > +) > +[C > +tester**20101016222814 > + Ignore-this: 9d40b33ef1b73b9a950f39c4e8a75dfe > +] merger 0.0 ( > +merger 0.0 ( > +hunk ./wibble 2 > ++A > +hunk ./wibble 2 > ++B > +) > +merger 0.0 ( > +hunk ./wibble 2 > ++A > +hunk ./wibble 2 > ++C > +) > +) > + > +Context: > + > +Patch bundle hash: > +c189b5635aed28be92cfbcf0de65c0f40c79da7a > addfile ./tests/data/convert/darcs1/tworesolutions.dpatch > hunk ./tests/data/convert/darcs1/tworesolutions.dpatch 1 > +7 patches for repository /tmp/tmp6805/temp/empty-hashed: > + > +Sat Oct 16 23:34:33 BST 2010 tester > + * wibble > + > +Sat Oct 16 23:34:33 BST 2010 tester > + * A > + > +Sat Oct 16 23:34:33 BST 2010 tester > + * B > + > +Sat Oct 16 23:34:33 BST 2010 tester > + * AB > + > +Sat Oct 16 23:34:33 BST 2010 tester > + * C > + > +Sat Oct 16 23:34:33 BST 2010 tester > + * ABC > + > +Sat Oct 16 23:34:33 BST 2010 tester > + * D > + > +New patches: > + > +[wibble > +tester**20101016223433 > + Ignore-this: 577185c51e4839dd1041372fbfa8515b > +] { > +addfile ./wibble > +hunk ./wibble 1 > ++wibble > +} > +[A > +tester**20101016223433 > + Ignore-this: 580c4417986d5c56590bf36f5a125f38 > +] hunk ./wibble 2 > + wibble > ++A > +[B > +tester**20101016223433 > + Ignore-this: a9f2335fe2dc972fd0bc09edc6252256 > +] merger 0.0 ( > +hunk ./wibble 2 > ++A > +hunk ./wibble 2 > ++B > +) > +[AB > +tester**20101016223433 > + Ignore-this: cba095e78e2bdfe15dbdf2cb5c69cc6d > +] hunk ./wibble 2 > + wibble > ++AB > +[C > +tester**20101016223433 > + Ignore-this: da2a7e05abed8dba0077e69e55bd926 > +] merger 0.0 ( > +hunk ./wibble 2 > ++AB > +merger 0.0 ( > +merger 0.0 ( > +hunk ./wibble 2 > ++A > +hunk ./wibble 2 > ++B > +) > +merger 0.0 ( > +hunk ./wibble 2 > ++A > +hunk ./wibble 2 > ++C > +) > +) > +) > +[ABC > +tester**20101016223433 > + Ignore-this: db94de3935df87d0a991c0ab6a58e5b1 > +] hunk ./wibble 2 > + wibble > ++ABC > +[D > +tester**20101016223433 > + Ignore-this: 829adb4326b290aa6f741b3a15fbabfc > +] merger 0.0 ( > +hunk ./wibble 2 > ++ABC > +merger 0.0 ( > +merger 0.0 ( > +hunk ./wibble 2 > ++AB > +merger 0.0 ( > +merger 0.0 ( > +hunk ./wibble 2 > ++A > +hunk ./wibble 2 > ++B > +) > +merger 0.0 ( > +hunk ./wibble 2 > ++A > +hunk ./wibble 2 > ++C > +) > +) > +) > +merger 0.0 ( > +hunk ./wibble 2 > ++AB > +merger 0.0 ( > +merger 0.0 ( > +hunk ./wibble 2 > ++A > +hunk ./wibble 2 > ++B > +) > +merger 0.0 ( > +hunk ./wibble 2 > ++A > +hunk ./wibble 2 > ++D > +) > +) > +) > +) > +) > + > +Context: > + > +Patch bundle hash: > +5fc1d0ff89472d10a0b19ae4f7849b1b99d500b4 > addfile ./tests/data/convert/darcs1/twowayconflict.dpatch > hunk ./tests/data/convert/darcs1/twowayconflict.dpatch 1 > +3 patches for repository /tmp/tmp5677/temp/empty-hashed: > + > +Sat Oct 16 23:28:22 BST 2010 tester > + * wibble > + > +Sat Oct 16 23:28:22 BST 2010 tester > + * A > + > +Sat Oct 16 23:28:22 BST 2010 tester > + * B > + > +New patches: > + > +[wibble > +tester**20101016222822 > + Ignore-this: 88662d08dd524d92ad4cca6df0d643e4 > +] { > +addfile ./wibble > +hunk ./wibble 1 > ++wibble > +} > +[A > +tester**20101016222822 > + Ignore-this: 2d69de402438481946682efcad5e20cd > +] hunk ./wibble 2 > + wibble > ++A > +[B > +tester**20101016222822 > + Ignore-this: 9c8daaedcb674c022ddbcef19752d694 > +] merger 0.0 ( > +hunk ./wibble 2 > ++A > +hunk ./wibble 2 > ++B > +) > + > +Context: > + > +Patch bundle hash: > +1e2ce71b56e4666c1b086b09ae351a6c3c768b8c > adddir ./tests/data/convert/darcs2 > addfile ./tests/data/convert/darcs2/resolution.dpatch > hunk ./tests/data/convert/darcs2/resolution.dpatch 1 > +5 patches for repository /tmp/tmp6648/temp/empty-darcs2: > + > +Sat Oct 16 23:32:07 BST 2010 tester > + * wibble > + > +Sat Oct 16 23:32:07 BST 2010 tester > + * A > + > +Sat Oct 16 23:32:07 BST 2010 tester > + * B > + > +Sat Oct 16 23:32:07 BST 2010 tester > + * AB > + > +Sat Oct 16 23:32:07 BST 2010 tester > + * C > + > +New patches: > + > +[wibble > +tester**20101016223207 > + Ignore-this: 64b5a1e603ddf61e59421bdde45b3bc > +] addfile ./wibble > +hunk ./wibble 1 > ++wibble > +[A > +tester**20101016223207 > + Ignore-this: bc0d30ac5170e1a25ccb20e6cb06ac86 > +] hunk ./wibble 2 > + wibble > ++A > +[B > +tester**20101016223207 > + Ignore-this: 3bbebcf8fa444bdcb31ab799c6754067 > +] conflictor [ > +hunk ./wibble 2 > ++A > +] > +: > +hunk ./wibble 2 > ++B > +[AB > +tester**20101016223207 > + Ignore-this: 8fa03d26b9dbbcdb50a323e5c58b16dd > +] hunk ./wibble 2 > + wibble > ++AB > +[C > +tester**20101016223207 > + Ignore-this: e7c0716361e411645066f8a3c2eff769 > +] conflictor [ > +hunk ./wibble 2 > ++AB > +] > +: > +hunk ./wibble 2 > ++C > + > +Context: > + > +Patch bundle hash: > +cc43b921f6010f451b2dbe275b7fcd04c3862335 > addfile ./tests/data/convert/darcs2/simple.dpatch > hunk ./tests/data/convert/darcs2/simple.dpatch 1 > +1 patch for repository /tmp/tmp5746/temp/empty-darcs2: > + > +Sat Oct 16 23:28:30 BST 2010 tester > + * wibble > + > +New patches: > + > +[wibble > +tester**20101016222830 > + Ignore-this: f155bc27211e0233c23b8c0a757b8071 > +] addfile ./wibble > +hunk ./wibble 1 > ++wibble > + > +Context: > + > +Patch bundle hash: > +75ced55c52362a8b2ff171b48751d19000fe1790 > addfile ./tests/data/convert/darcs2/threewayanddep.dpatch > hunk ./tests/data/convert/darcs2/threewayanddep.dpatch 1 > +5 patches for repository /tmp/tmp5530/temp/empty-darcs2: > + > +Sat Oct 16 23:27:54 BST 2010 tester > + * wibble > + > +Sat Oct 16 23:27:54 BST 2010 tester > + * A1 > + > +Sat Oct 16 23:27:54 BST 2010 tester > + * A2 > + > +Sat Oct 16 23:27:54 BST 2010 tester > + * B > + > +Sat Oct 16 23:27:54 BST 2010 tester > + * C > + > +New patches: > + > +[wibble > +tester**20101016222754 > + Ignore-this: 355914edd0f88f0ea7c2ef60aec9c2a1 > +] addfile ./wibble > +hunk ./wibble 1 > ++wibble > +[A1 > +tester**20101016222754 > + Ignore-this: 54df34ebd488b772c37c3d43a38b0bfa > +] hunk ./wibble 2 > + wibble > ++A1 > +[A2 > +tester**20101016222754 > + Ignore-this: 4d1b08c7274743e7d0d2f210518d5a19 > +] hunk ./wibble 3 > + wibble > + A1 > ++A2 > +[B > +tester**20101016222754 > + Ignore-this: 9ba51da6bb1506afa2104326cd5df54b > +] conflictor [ > +hunk ./wibble 2 > ++A1 > ++A2 > +] > +: > +hunk ./wibble 2 > ++B > +[C > +tester**20101016222754 > + Ignore-this: 295e8a851b7a936b3d08b0ce7eaaf2ac > +] conflictor {{ > +: > +hunk ./wibble 2 > ++A1 > ++A2 > +: > +hunk ./wibble 2 > ++B > +}} [] > +: > +hunk ./wibble 2 > ++C > + > +Context: > + > +Patch bundle hash: > +f9974a2fdbdea580b1be0eaba951e6285f9bfb5d > addfile ./tests/data/convert/darcs2/threewayandmultideps.dpatch > hunk ./tests/data/convert/darcs2/threewayandmultideps.dpatch 1 > +7 patches for repository /tmp/tmp5411/temp/empty-darcs2: > + > +Sat Oct 16 23:27:21 BST 2010 tester > + * wibble > + > +Sat Oct 16 23:27:21 BST 2010 tester > + * A1 > + > +Sat Oct 16 23:27:21 BST 2010 tester > + * A2 > + > +Sat Oct 16 23:27:21 BST 2010 tester > + * B1 > + > +Sat Oct 16 23:27:21 BST 2010 tester > + * B2 > + > +Sat Oct 16 23:27:21 BST 2010 tester > + * C1 > + > +Sat Oct 16 23:27:21 BST 2010 tester > + * C2 > + > +New patches: > + > +[wibble > +tester**20101016222721 > + Ignore-this: 64432ba123d81c8f0e688b44feb8f587 > +] addfile ./wibble > +hunk ./wibble 1 > ++wibble > +[A1 > +tester**20101016222721 > + Ignore-this: d749f48333e6ff2e994b1df71e76933b > +] hunk ./wibble 2 > + wibble > ++A1 > +[A2 > +tester**20101016222721 > + Ignore-this: 6f006a52975a708a8038d52e5e39ef0f > +] hunk ./wibble 3 > + wibble > + A1 > ++A2 > +[B1 > +tester**20101016222721 > + Ignore-this: f4d4b5b1c73bd6fa8abe6e5e680d66a7 > +] conflictor [ > +hunk ./wibble 2 > ++A1 > ++A2 > +] > +: > +hunk ./wibble 2 > ++B1 > +[B2 > +tester**20101016222721 > + Ignore-this: 1d60b6c0ba913fff4d1e32ad26ae07bb > +] > +[C1 > +tester**20101016222721 > + Ignore-this: 25b6a6959d19980ad16983a542c6825 > +] conflictor {{ > +: > +hunk ./wibble 2 > ++A1 > ++A2 > +: > +hunk ./wibble 2 > ++B1 > ++B2 > +}} [] > +: > +hunk ./wibble 2 > ++C1 > +[C2 > +tester**20101016222721 > + Ignore-this: c16d607216c36d5f7727c64d2ec103d4 > +] conflictor {{ > +: > +hunk ./wibble 2 > ++A1 > ++A2 > +: > +hunk ./wibble 2 > ++B1 > ++B2 > +}} [] > +: > +hunk ./wibble 2 > ++C1 > ++C2 > + > +Context: > + > +Patch bundle hash: > +7f2bd6324e6e1f2d4efe67f98696ca0ead048fe5 > addfile ./tests/data/convert/darcs2/threewayconflict.dpatch > hunk ./tests/data/convert/darcs2/threewayconflict.dpatch 1 > +4 patches for repository /tmp/tmp5605/temp/empty-darcs2: > + > +Sat Oct 16 23:28:14 BST 2010 tester > + * wibble > + > +Sat Oct 16 23:28:14 BST 2010 tester > + * A > + > +Sat Oct 16 23:28:14 BST 2010 tester > + * B > + > +Sat Oct 16 23:28:14 BST 2010 tester > + * C > + > +New patches: > + > +[wibble > +tester**20101016222814 > + Ignore-this: c125275c671c210086eccb12de9f6c1c > +] addfile ./wibble > +hunk ./wibble 1 > ++wibble > +[A > +tester**20101016222814 > + Ignore-this: 653be63c1f8a6f4bc1de1e45c0ae9084 > +] hunk ./wibble 2 > + wibble > ++A > +[B > +tester**20101016222814 > + Ignore-this: 1a8e3f57d2baeca09f2dda003e4df58d > +] conflictor [ > +hunk ./wibble 2 > ++A > +] > +: > +hunk ./wibble 2 > ++B > +[C > +tester**20101016222814 > + Ignore-this: 9d40b33ef1b73b9a950f39c4e8a75dfe > +] conflictor {{ > +: > +hunk ./wibble 2 > ++A > +: > +hunk ./wibble 2 > ++B > +}} [] > +: > +hunk ./wibble 2 > ++C > + > +Context: > + > +Patch bundle hash: > +ba3e1ce15840fd37358fcd43c4c03273d1779153 > addfile ./tests/data/convert/darcs2/tworesolutions.dpatch > hunk ./tests/data/convert/darcs2/tworesolutions.dpatch 1 > +7 patches for repository /tmp/tmp6805/temp/empty-darcs2: > + > +Sat Oct 16 23:34:33 BST 2010 tester > + * wibble > + > +Sat Oct 16 23:34:33 BST 2010 tester > + * A > + > +Sat Oct 16 23:34:33 BST 2010 tester > + * B > + > +Sat Oct 16 23:34:33 BST 2010 tester > + * AB > + > +Sat Oct 16 23:34:33 BST 2010 tester > + * C > + > +Sat Oct 16 23:34:33 BST 2010 tester > + * ABC > + > +Sat Oct 16 23:34:33 BST 2010 tester > + * D > + > +New patches: > + > +[wibble > +tester**20101016223433 > + Ignore-this: 577185c51e4839dd1041372fbfa8515b > +] addfile ./wibble > +hunk ./wibble 1 > ++wibble > +[A > +tester**20101016223433 > + Ignore-this: 580c4417986d5c56590bf36f5a125f38 > +] hunk ./wibble 2 > + wibble > ++A > +[B > +tester**20101016223433 > + Ignore-this: a9f2335fe2dc972fd0bc09edc6252256 > +] conflictor [ > +hunk ./wibble 2 > ++A > +] > +: > +hunk ./wibble 2 > ++B > +[AB > +tester**20101016223433 > + Ignore-this: cba095e78e2bdfe15dbdf2cb5c69cc6d > +] hunk ./wibble 2 > + wibble > ++AB > +[C > +tester**20101016223433 > + Ignore-this: da2a7e05abed8dba0077e69e55bd926 > +] conflictor [ > +hunk ./wibble 2 > ++AB > +] > +: > +hunk ./wibble 2 > ++C > +[ABC > +tester**20101016223433 > + Ignore-this: db94de3935df87d0a991c0ab6a58e5b1 > +] hunk ./wibble 2 > + wibble > ++ABC > +[D > +tester**20101016223433 > + Ignore-this: 829adb4326b290aa6f741b3a15fbabfc > +] conflictor [ > +hunk ./wibble 2 > ++ABC > +] > +: > +hunk ./wibble 2 > ++D > + > +Context: > + > +Patch bundle hash: > +b0ac3265aeb09b15b7dbc1dcf9447dae35d00a86 > addfile ./tests/data/convert/darcs2/twowayconflict.dpatch > hunk ./tests/data/convert/darcs2/twowayconflict.dpatch 1 > +3 patches for repository /tmp/tmp5677/temp/empty-darcs2: > + > +Sat Oct 16 23:28:22 BST 2010 tester > + * wibble > + > +Sat Oct 16 23:28:22 BST 2010 tester > + * A > + > +Sat Oct 16 23:28:22 BST 2010 tester > + * B > + > +New patches: > + > +[wibble > +tester**20101016222822 > + Ignore-this: 88662d08dd524d92ad4cca6df0d643e4 > +] addfile ./wibble > +hunk ./wibble 1 > ++wibble > +[A > +tester**20101016222822 > + Ignore-this: 2d69de402438481946682efcad5e20cd > +] hunk ./wibble 2 > + wibble > ++A > +[B > +tester**20101016222822 > + Ignore-this: 9c8daaedcb674c022ddbcef19752d694 > +] conflictor [ > +hunk ./wibble 2 > ++A > +] > +: > +hunk ./wibble 2 > ++B > + > +Context: > + > +Patch bundle hash: > +33bebb546403626fc8539d4709fbcdb99e47e94c __________________________________ Darcs bug tracker <[email protected]> <http://bugs.darcs.net/patch420> __________________________________ _______________________________________________ darcs-users mailing list [email protected] http://lists.osuosl.org/mailman/listinfo/darcs-users
