view tests/test-extdiff @ 10111:27457d31ae3f

cmdutil: replace sys.maxint with None as default value in loglimit Semantically, it is better to use None over any other value when there is "no value". Using maxint in this context is quite hackish, and is not forward compatible.
author Nicolas Dumazet <nicdumz.commits@gmail.com>
date Mon, 14 Dec 2009 00:32:29 +0900
parents 6045a8c4dbbc
children c52057614c72
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

echo
echo % test extdiff with --option
hg extdiff -p echo -o this -c 1
hg falabala -o this -c 1
echo