test-extdiff
73 lines
| 1.6 KiB
| text/plain
|
TextLexer
/ tests / test-extdiff
Vadim Gelfer
|
r2906 | #!/bin/sh | ||
Thomas Arendsen Hein
|
r2990 | echo "[extensions]" >> $HGRCPATH | ||
echo "extdiff=" >> $HGRCPATH | ||||
Vadim Gelfer
|
r2906 | |||
hg init a | ||||
cd a | ||||
echo a > a | ||||
Brad Schick
|
r5137 | echo b > b | ||
Vadim Gelfer
|
r2906 | hg add | ||
Brad Schick
|
r5137 | # should diff cloned directories | ||
Thomas Arendsen Hein
|
r3751 | hg extdiff -o -r $opt | ||
Vadim Gelfer
|
r2906 | |||
Thomas Arendsen Hein
|
r2990 | echo "[extdiff]" >> $HGRCPATH | ||
echo "cmd.falabala=echo" >> $HGRCPATH | ||||
echo "opts.falabala=diffing" >> $HGRCPATH | ||||
Vadim Gelfer
|
r2906 | |||
hg falabala | ||||
hg help falabala | ||||
hg ci -d '0 0' -mtest1 | ||||
echo b >> a | ||||
hg ci -d '1 0' -mtest2 | ||||
Thomas Arendsen Hein
|
r5143 | # should diff cloned files directly | ||
Benoit Boissinot
|
r3330 | hg falabala -r 0:1 | ||
# test diff during merge | ||||
Patrick Mezard
|
r8065 | hg update -C 0 | ||
Brad Schick
|
r5137 | echo c >> c | ||
hg add c | ||||
Benoit Boissinot
|
r3330 | hg ci -m "new branch" -d '1 0' | ||
Gilles Moris
|
r7758 | hg merge 1 | ||
Thomas Arendsen Hein
|
r5143 | # should diff cloned file against wc file | ||
Gilles Moris
|
r7758 | hg falabala > out | ||
Brad Schick
|
r5137 | # cleanup the output since the wc is a tmp directory | ||
Mads Kiilerich
|
r10775 | sed 's:\(diffing [^ ]* \).*\(\/test-extdiff\):\1[tmp]\2:' out | ||
Gilles Moris
|
r7758 | # 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 | ||||
Patrick Mezard
|
r8065 | |||
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 | ||||
Mads Kiilerich
|
r10775 | cat > 'diff tool.py' << EOT | ||
Patrick Mezard
|
r8212 | #!/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') | ||||
Patrick Mezard
|
r8065 | EOT | ||
Mads Kiilerich
|
r10775 | chmod +x 'diff tool.py' | ||
hg extdiff -p "`pwd`/diff tool.py" # will change to /tmp/extdiff.TMP and populate directories a.TMP and a and start tool | ||||
Patrick Mezard
|
r8065 | echo '% diff in working directory, after' | ||
hg diff --git | ||||
Sune Foldager
|
r9956 | |||
echo | ||||
echo % test extdiff with --option | ||||
hg extdiff -p echo -o this -c 1 | ||||
hg falabala -o this -c 1 | ||||
echo | ||||