$ make test_shell Running sh tests on old-fashioned reositories... Running what_sl.sh ... passed. Running unrevert.sh ... FAILED! Output from failed unrevert.sh: test $DARCS || DARCS=$PWD/../darcs rm -rf temp1 mkdir temp1 cd temp1 $DARCS init echo hello world > foo $DARCS add foo $DARCS record -a -m add -A x Finished recording patch 'add' echo goodbye world >> foo cp foo bar $DARCS revert -a There are no changes to revert! Finished reverting. cmp foo _darcs/pristine/foo cmp: EOF on _darcs/pristine/foo Running unrecord.sh ... passed. Running unpull.sh ... FAILED! Output from failed unpull.sh: test $DARCS || DARCS=$PWD/../darcs rm -rf temp1 mkdir temp1 cd temp1 $DARCS init cat > f < f < foo $DARCS add foo $DARCS record -a -m add -A x Finished recording patch 'add' echo goodbye world >> foo $DARCS diff diff -rN old-temp1/foo new-temp1/foo 1a2 > goodbye world $DARCS diff -u diff -rN -u old-temp1/foo new-temp1/foo --- old-temp1/foo 2007-12-01 21:17:46.000000000 -0700 +++ new-temp1/foo 2007-12-01 21:17:46.000000000 -0700 @@ -1 +1,2 @@ hello world +goodbye world $DARCS whatsnew No changes! Running send.sh ... passed. Running send_apply.sh ... passed. Running sametwice.sh ... passed. Running rmconflict.sh ... passed. Running revert_unrecorded_add.sh ... passed. Running revert_interactive.sh ... FAILED! Output from failed revert_interactive.sh: test $DARCS || DARCS=$PWD/../darcs rm -rf temp1 mkdir temp1 cd temp1 $DARCS init echo hello world > foo $DARCS add foo $DARCS record -a -m add -A x Finished recording patch 'add' echo goodbye world >> foo echo y/y | tr / \\012 | $DARCS revert There are no changes to revert! Finished reverting. cmp foo _darcs/pristine/foo cmp: EOF on _darcs/pristine/foo Running replace.sh ... FAILED! Output from failed replace.sh: DARCS_EMAIL=tester export DARCS_EMAIL test $DARCS || DARCS=$PWD/../darcs rm -rf temp mkdir temp cd temp $DARCS init echo "X X X" > foo $DARCS rec -alm "Added" Finished recording patch 'Added' # This should fail until replace handles spaces $DARCS replace ' X ' ' XX ' --token-chars '[ X]' foo && exit 1 || true darcs failed: Space not allowed in tokens: [ X] # Check that replace is not fooled by duplicate file names # (i.e. not trying to performe the replace twice in the same file) $DARCS replace X Y foo foo $DARCS replace Y Z foo ../temp/foo Ignoring non-repository paths: ../temp/foo $DARCS replace Z Q foo foo --repodir=../temp/ $DARCS rec -am "xyzq" Finished recording patch 'xyzq' # Try to "overwrite" a hunk with a replace. # # v1.0.8 accepts this without error or warning, # but should perhaps require the --force option? # # current unstable sometimes(!) fails with bug: invalid pending # which is surely a bug. # this succeeds echo "x" > foo $DARCS rec -am x No changes! echo "y" > foo $DARCS replace --ignore-times x y foo # this fails echo "hej" > foo $DARCS rec -am hej Finished recording patch 'hej' echo "hopp" > foo $DARCS replace hej hopp foo darcs: bug in darcs! There was an attempt to write an invalid pending! If possible, please send the contents of _darcs/patches/pending_buggy along with a bug report. Please report this to bugs@darcs.net If possible include the output of 'darcs --exact-version'. Running replace_after_pending_mv.sh ... passed. Running replace_after_pending_add.sh ... passed. Running recordrace.sh ... passed. Running query_manifest.sh ... passed. Running push.sh ... passed. Running pull_two.sh ... passed. Running pull_compl.sh ... passed. Running pull_binary.sh ... passed. Running prehook.sh ... passed. Running posthook.sh ... passed. Running perms.sh ... passed. Running pending.sh ... passed. Running partial.sh ... passed. Running obliterate.sh ... FAILED! Output from failed obliterate.sh: test $DARCS || DARCS=$PWD/../darcs DARCS_EMAIL='hello world' export DARCS_EMAIL rm -rf tempA mkdir tempA cd tempA $DARCS initialize echo hello world > foo $DARCS add foo $DARCS record -a -m hellofoo Finished recording patch 'hellofoo' echo goodbye world >> foo $DARCS record -a -m goodbyefoo No changes! $DARCS replace world bar foo echo Hi there foo > bar $DARCS add bar $DARCS record -a -m addbar Finished recording patch 'addbar' $DARCS mv bar baz $DARCS replace bar baz foo $DARCS record -a -m bar2baz Finished recording patch 'bar2baz' echo Do not love the baz, or anything in the baz. >> foo $DARCS record -a -m nolove No changes! $DARCS mv baz world $DARCS replace baz world foo $DARCS record -a -m baz2world Finished recording patch 'baz2world' $DARCS whatsnew | grep 'No changes' No changes! grep 'love the world' foo Do not love the world, or anything in the world. echo y | $DARCS obliterate -p baz2world Sat Dec 1 21:18:36 MST 2007 hello world * baz2world Shall I obliterate this patch? (1/?) [ynWvpxdaqjkc], or ? for help: Finished obliterating. $DARCS whatsnew | grep 'No changes' No changes! grep 'love the baz' foo Running no_pristine.sh ... passed. Running nonewline.sh ... passed. Running nodeps.sh ... passed. Running mv_then_add.sh ... passed. Running mv.sh ... FAILED! Output from failed mv.sh: test $DARCS || DARCS=$PWD/../darcs rm -rf temp mkdir temp cd temp $DARCS init echo hi world > temp.c $DARCS add temp.c $DARCS record --all -A test --patch-name=hi Finished recording patch 'hi' echo goodbye >> temp.c $DARCS whatsnew No changes! Running mv_and_remove_tests.sh ... passed. Running merge_three_patches.sh ... passed. Running mergeresolved.sh ... passed. Running look_for_add.sh ... passed. Running justrm.sh ... passed. Running impossible_unrevert.sh ... passed. Running illegal_mv.sh ... passed. Running haskell_policy.sh ... passed. Running hashed_inventory.sh ... FAILED! Output from failed hashed_inventory.sh: # We'd just use `diff -x _darcs -r' if -x was portable. diffx () { { find $1 -type f; find $2 -type f; } | sed -e '/.*\/_darcs\//d' -e 's;^[^/]*;;' | sort | uniq | { while read part; do diff -c $1$part $2$part done } } test $DARCS || DARCS=$PWD/../darcs rm -rf temp1 temp2 temp3 temp4 temp5 mkdir temp1 cd temp1 $DARCS init --hashed-inventory touch foo $DARCS add foo $DARCS rec -m t1 -a -A tester Finished recording patch 't1' echo 1 >> foo $DARCS what -s | grep -v No\ changes M ./foo +1 $DARCS what -l | grep -v No\ changes M ./foo +1 $DARCS what -sl | grep -v No\ changes M ./foo +1 cd .. $DARCS get temp1 temp2 Applying patch 1 of 1... done. Finished getting. cd temp2 $DARCS changes Sat Dec 1 21:19:04 MST 2007 tester * t1 cd .. $DARCS get --hashed-inventory temp1 temp3 Applying patch 1 of 1... done. Finished getting. cd temp3 $DARCS changes Sat Dec 1 21:19:04 MST 2007 tester * t1 cp _darcs/hashed_inventory inv $DARCS optimize Done optimizing! diff -c inv _darcs/hashed_inventory rm inv cd .. diffx temp2 temp3 diff -rc temp1/_darcs/pristine temp3/_darcs/pristine diff -rc temp2/_darcs/pristine temp3/_darcs/pristine cd temp1 $DARCS record -a -A tester -m t2 Finished recording patch 't2' $DARCS push ../temp2 -a Finished applying... $DARCS push ../temp3 -a Finished applying... cd .. diffx temp2 temp3 diff -rc temp1/_darcs/pristine temp3/_darcs/pristine diff -rc temp2/_darcs/pristine temp3/_darcs/pristine cd temp1 date > foo $DARCS record -a -A tester -m t3 No changes! cd ../temp2 $DARCS pull -a Pulling from "/home/jeremy/darcs-unstable/test_shell.dir/temp1"... No remote changes to pull in! cd ../temp3 $DARCS pull -a Pulling from "/home/jeremy/darcs-unstable/test_shell.dir/temp1"... No remote changes to pull in! $DARCS check Checking patch 2 of 2... done. The repository is consistent! cd .. diffx temp2 temp3 diff -rc temp1/_darcs/pristine temp3/_darcs/pristine diff -rc temp2/_darcs/pristine temp3/_darcs/pristine cd temp1 $DARCS put --hashed-inventory ../temp4 Finished applying... cd .. diffx temp2 temp4 diff -rc temp2/_darcs/pristine temp4/_darcs/pristine cd temp1 $DARCS tag -A tagger -m atag Finished tagging patch 'TAG atag' $DARCS check Checking patch 3 of 3... done. The repository is consistent! $DARCS optimize Done optimizing! $DARCS check Checking patch 3 of 3... done. The repository is consistent! $DARCS changes | grep t1 * t1 cd .. cd temp3 date > foobarpatch $DARCS add foobarpatch $DARCS record -a -A silly -m foobarpatch Finished recording patch 'foobarpatch' $DARCS check Checking patch 3 of 3... done. The repository is consistent! $DARCS optimize Done optimizing! $DARCS check Checking patch 3 of 3... done. The repository is consistent! $DARCS pull -a ../temp1 Finished pulling and applying. $DARCS check Checking patch 4 of 4... done. The repository is consistent! $DARCS optimize --reorder-patches Done optimizing! $DARCS check Checking patch 4 of 4... done. The repository is consistent! grep 'Starting with inventory' _darcs/hashed_inventory Starting with inventory: cd .. cd temp1 $DARCS pull -a ../temp3 Finished pulling and applying. cd .. diff -c temp1/_darcs/hashed_inventory temp3/_darcs/hashed_inventory cd temp4 $DARCS pull -p foobarpatch -a ../temp3 Finished pulling and applying. $DARCS pull -a ../temp1 Finished pulling and applying. $DARCS optimize --reorder Done optimizing! $DARCS check Checking patch 4 of 4... done. The repository is consistent! $DARCS push ../temp1 Pushing to "../temp1"... No recorded local changes to push! cd .. diff temp1/_darcs/hashed_inventory temp4/_darcs/hashed_inventory rm -rf temp3 $DARCS get --old-fashioned temp1 temp3 Applying patch 4 of 4... done. Finished getting. $DARCS get --hashed-inventory temp3 temp5 Applying patch 4 of 4... done. Finished getting. rm -rf temp5 $DARCS get temp1 temp5 --hashed-inventory --old-fashioned Applying patch 4 of 4... done. Finished getting. cd temp5 $DARCS obliterate --last 3 -a Finished obliterating. $DARCS pull ../temp1 -a Finished pulling and applying. $DARCS obliterate --last 3 -a Finished obliterating. $DARCS pull ../temp2 -a Finished pulling and applying. $DARCS check Checking patch 2 of 2... done. The repository is consistent! $DARCS obliterate --last 3 -a Finished obliterating. $DARCS pull ../temp3 -a Finished pulling and applying. $DARCS obliterate --last 3 -a Finished obliterating. $DARCS pull ../temp4 -a Finished pulling and applying. cd .. cd temp4 $DARCS obliterate --last 3 -a Finished obliterating. $DARCS pull ../temp5 -a Finished pulling and applying. cd .. cd temp3 $DARCS obliterate --last 3 -a Finished obliterating. $DARCS pull ../temp5 -a Finished pulling and applying. cd .. cd temp2 $DARCS obliterate --last 3 -a Finished obliterating. $DARCS pull ../temp5 -a Finished pulling and applying. cd .. cd temp1 $DARCS obliterate --last 3 -a darcs failed: Couldn't undo patch in working dir. user error (Error applying hunk to file ./foo) Running harness.sh ... passed. Running get_tag.sh ... passed. Running directory_confusion.sh ... passed. Running bad_pending_after_pull.sh ... passed. Running annotate.sh ... passed. Running addrm.sh ... passed. Running addrace.sh ... passed. Running addmv.sh ... passed. Running addexitval.sh ... passed. TESTS FAILED! unrevert.sh unpull.sh several_commands.sh revert_interactive.sh replace.sh obliterate.sh mv.sh hashed_inventory.sh make: *** [test_shell] Error 123