Mercurial > hg
view tests/test-extdiff @ 9717:68a1b9d0663e
update: allow branch crossing without -c or -C, with no uncommitted changes
Update will now allow crossing branches within the same named branch,
when given a specific revision, if the working dir is clean, without
requiring the -c or -C option. Abort if no revision is given and
this would cross branches. Minor change to abort message if
uncommitted changes are found.
Modify test-update-branches and output to reflect the altered case. Modify
test-merge5.out to reflect the altered case. Modify
test-up-local-change.out with new message.
author | Stuart W Marks <smarks@smarks.org> |
---|---|
date | Thu, 05 Nov 2009 10:53:59 +0100 |
parents | bf795c34c63d |
children | 6045a8c4dbbc |
line wrap: on
line source
#!/bin/sh echo "[extensions]" >> $HGRCPATH echo "extdiff=" >> $HGRCPATH hg init a cd a echo a > a echo b > b hg add # should diff cloned directories hg extdiff -o -r $opt echo "[extdiff]" >> $HGRCPATH echo "cmd.falabala=echo" >> $HGRCPATH echo "opts.falabala=diffing" >> $HGRCPATH hg falabala hg help falabala hg ci -d '0 0' -mtest1 echo b >> a hg ci -d '1 0' -mtest2 # should diff cloned files directly hg falabala -r 0:1 # test diff during merge hg update -C 0 echo c >> c hg add c hg ci -m "new branch" -d '1 0' hg merge 1 # should diff cloned file against wc file hg falabala > out # cleanup the output since the wc is a tmp directory sed 's:\(.* \).*\(\/test-extdiff\):\1[tmp]\2:' out # test --change option hg ci -d '2 0' -mtest3 hg falabala -c 1 # check diff are made from the first parent hg falabala -c 3 || echo "diff-like tools yield a non-zero exit code" #hg log echo echo '% test extdiff of multiple files in tmp dir:' hg update -C 0 > /dev/null echo changed > a echo changed > b chmod +x b echo '% diff in working directory, before' hg diff --git echo '% edit with extdiff -p' # prepare custom diff/edit tool cat > differ.py << EOT #!/usr/bin/env python import time time.sleep(1) # avoid unchanged-timestamp problems file('a/a', 'ab').write('edited\n') file('a/b', 'ab').write('edited\n') EOT chmod +x differ.py hg extdiff -p `pwd`/differ.py # will change to /tmp/extdiff.TMP and populate directories a.TMP and a and start tool echo '% diff in working directory, after' hg diff --git