test-extdiff
66 lines
| 1.4 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 | ||
sed 's:\(.* \).*\(\/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 | ||||
cat > differ.sh << EOT | ||||
#!/bin/sh | ||||
sleep 1 # avoid unchanged-timestamp problems | ||||
echo edited >> a/a | ||||
echo edited >> a/b | ||||
EOT | ||||
chmod +x differ.sh | ||||
hg extdiff -p `pwd`/differ.sh # 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 | ||||