author | Martin Geisler <mg@lazybytes.net> |
Fri, 04 Sep 2009 23:45:13 +0200 | |
changeset 9426 | b42b03308ae9 |
parent 8212 | bf795c34c63d |
child 9956 | 6045a8c4dbbc |
permissions | -rwxr-xr-x |
2906
453097750fbf
extdiff: fix bugs. add test.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff
changeset
|
1 |
#!/bin/sh |
453097750fbf
extdiff: fix bugs. add test.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff
changeset
|
2 |
|
2990
61fcd9fac434
Make tests append settings to $HGRCPATH instead of $HGTMP/.hgrc
Thomas Arendsen Hein <thomas@intevation.de>
parents:
2932
diff
changeset
|
3 |
echo "[extensions]" >> $HGRCPATH |
61fcd9fac434
Make tests append settings to $HGRCPATH instead of $HGTMP/.hgrc
Thomas Arendsen Hein <thomas@intevation.de>
parents:
2932
diff
changeset
|
4 |
echo "extdiff=" >> $HGRCPATH |
2906
453097750fbf
extdiff: fix bugs. add test.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff
changeset
|
5 |
|
453097750fbf
extdiff: fix bugs. add test.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff
changeset
|
6 |
hg init a |
453097750fbf
extdiff: fix bugs. add test.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff
changeset
|
7 |
cd a |
453097750fbf
extdiff: fix bugs. add test.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff
changeset
|
8 |
echo a > a |
5137
2be225ea5722
extdiff: do single file diffs from the wc with no copy
Brad Schick <schickb@gmail.com>
parents:
3751
diff
changeset
|
9 |
echo b > b |
2906
453097750fbf
extdiff: fix bugs. add test.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff
changeset
|
10 |
hg add |
5137
2be225ea5722
extdiff: do single file diffs from the wc with no copy
Brad Schick <schickb@gmail.com>
parents:
3751
diff
changeset
|
11 |
# should diff cloned directories |
3751
797c6e70092b
Don't require a diff which accepts the -N option.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
3330
diff
changeset
|
12 |
hg extdiff -o -r $opt |
2906
453097750fbf
extdiff: fix bugs. add test.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff
changeset
|
13 |
|
2990
61fcd9fac434
Make tests append settings to $HGRCPATH instead of $HGTMP/.hgrc
Thomas Arendsen Hein <thomas@intevation.de>
parents:
2932
diff
changeset
|
14 |
echo "[extdiff]" >> $HGRCPATH |
61fcd9fac434
Make tests append settings to $HGRCPATH instead of $HGTMP/.hgrc
Thomas Arendsen Hein <thomas@intevation.de>
parents:
2932
diff
changeset
|
15 |
echo "cmd.falabala=echo" >> $HGRCPATH |
61fcd9fac434
Make tests append settings to $HGRCPATH instead of $HGTMP/.hgrc
Thomas Arendsen Hein <thomas@intevation.de>
parents:
2932
diff
changeset
|
16 |
echo "opts.falabala=diffing" >> $HGRCPATH |
2906
453097750fbf
extdiff: fix bugs. add test.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff
changeset
|
17 |
|
453097750fbf
extdiff: fix bugs. add test.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff
changeset
|
18 |
hg falabala |
453097750fbf
extdiff: fix bugs. add test.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff
changeset
|
19 |
|
453097750fbf
extdiff: fix bugs. add test.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff
changeset
|
20 |
hg help falabala |
453097750fbf
extdiff: fix bugs. add test.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff
changeset
|
21 |
|
453097750fbf
extdiff: fix bugs. add test.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff
changeset
|
22 |
hg ci -d '0 0' -mtest1 |
453097750fbf
extdiff: fix bugs. add test.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff
changeset
|
23 |
|
453097750fbf
extdiff: fix bugs. add test.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff
changeset
|
24 |
echo b >> a |
453097750fbf
extdiff: fix bugs. add test.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff
changeset
|
25 |
hg ci -d '1 0' -mtest2 |
453097750fbf
extdiff: fix bugs. add test.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff
changeset
|
26 |
|
5143
d4fa6bafc43a
Remove trailing spaces, fix indentation
Thomas Arendsen Hein <thomas@intevation.de>
parents:
5137
diff
changeset
|
27 |
# should diff cloned files directly |
3330
49966b5ab16f
fix traceback of extdiff after a merge
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
2990
diff
changeset
|
28 |
hg falabala -r 0:1 |
49966b5ab16f
fix traceback of extdiff after a merge
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
2990
diff
changeset
|
29 |
|
49966b5ab16f
fix traceback of extdiff after a merge
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
2990
diff
changeset
|
30 |
# test diff during merge |
8065
66d0a03d3afc
extdiff: preserve execute-bit across copies (issue1562)
Patrick Mezard <pmezard@gmail.com>
parents:
7758
diff
changeset
|
31 |
hg update -C 0 |
5137
2be225ea5722
extdiff: do single file diffs from the wc with no copy
Brad Schick <schickb@gmail.com>
parents:
3751
diff
changeset
|
32 |
echo c >> c |
2be225ea5722
extdiff: do single file diffs from the wc with no copy
Brad Schick <schickb@gmail.com>
parents:
3751
diff
changeset
|
33 |
hg add c |
3330
49966b5ab16f
fix traceback of extdiff after a merge
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
2990
diff
changeset
|
34 |
hg ci -m "new branch" -d '1 0' |
7758
e81e6c996e99
extdiff: add --change option to display single changeset diff
Gilles Moris <gilles.moris@free.fr>
parents:
5143
diff
changeset
|
35 |
hg merge 1 |
5143
d4fa6bafc43a
Remove trailing spaces, fix indentation
Thomas Arendsen Hein <thomas@intevation.de>
parents:
5137
diff
changeset
|
36 |
# should diff cloned file against wc file |
7758
e81e6c996e99
extdiff: add --change option to display single changeset diff
Gilles Moris <gilles.moris@free.fr>
parents:
5143
diff
changeset
|
37 |
hg falabala > out |
5137
2be225ea5722
extdiff: do single file diffs from the wc with no copy
Brad Schick <schickb@gmail.com>
parents:
3751
diff
changeset
|
38 |
# cleanup the output since the wc is a tmp directory |
2be225ea5722
extdiff: do single file diffs from the wc with no copy
Brad Schick <schickb@gmail.com>
parents:
3751
diff
changeset
|
39 |
sed 's:\(.* \).*\(\/test-extdiff\):\1[tmp]\2:' out |
7758
e81e6c996e99
extdiff: add --change option to display single changeset diff
Gilles Moris <gilles.moris@free.fr>
parents:
5143
diff
changeset
|
40 |
# test --change option |
e81e6c996e99
extdiff: add --change option to display single changeset diff
Gilles Moris <gilles.moris@free.fr>
parents:
5143
diff
changeset
|
41 |
hg ci -d '2 0' -mtest3 |
e81e6c996e99
extdiff: add --change option to display single changeset diff
Gilles Moris <gilles.moris@free.fr>
parents:
5143
diff
changeset
|
42 |
hg falabala -c 1 |
e81e6c996e99
extdiff: add --change option to display single changeset diff
Gilles Moris <gilles.moris@free.fr>
parents:
5143
diff
changeset
|
43 |
# check diff are made from the first parent |
e81e6c996e99
extdiff: add --change option to display single changeset diff
Gilles Moris <gilles.moris@free.fr>
parents:
5143
diff
changeset
|
44 |
hg falabala -c 3 || echo "diff-like tools yield a non-zero exit code" |
e81e6c996e99
extdiff: add --change option to display single changeset diff
Gilles Moris <gilles.moris@free.fr>
parents:
5143
diff
changeset
|
45 |
#hg log |
8065
66d0a03d3afc
extdiff: preserve execute-bit across copies (issue1562)
Patrick Mezard <pmezard@gmail.com>
parents:
7758
diff
changeset
|
46 |
|
66d0a03d3afc
extdiff: preserve execute-bit across copies (issue1562)
Patrick Mezard <pmezard@gmail.com>
parents:
7758
diff
changeset
|
47 |
echo |
66d0a03d3afc
extdiff: preserve execute-bit across copies (issue1562)
Patrick Mezard <pmezard@gmail.com>
parents:
7758
diff
changeset
|
48 |
echo '% test extdiff of multiple files in tmp dir:' |
66d0a03d3afc
extdiff: preserve execute-bit across copies (issue1562)
Patrick Mezard <pmezard@gmail.com>
parents:
7758
diff
changeset
|
49 |
hg update -C 0 > /dev/null |
66d0a03d3afc
extdiff: preserve execute-bit across copies (issue1562)
Patrick Mezard <pmezard@gmail.com>
parents:
7758
diff
changeset
|
50 |
echo changed > a |
66d0a03d3afc
extdiff: preserve execute-bit across copies (issue1562)
Patrick Mezard <pmezard@gmail.com>
parents:
7758
diff
changeset
|
51 |
echo changed > b |
66d0a03d3afc
extdiff: preserve execute-bit across copies (issue1562)
Patrick Mezard <pmezard@gmail.com>
parents:
7758
diff
changeset
|
52 |
chmod +x b |
66d0a03d3afc
extdiff: preserve execute-bit across copies (issue1562)
Patrick Mezard <pmezard@gmail.com>
parents:
7758
diff
changeset
|
53 |
echo '% diff in working directory, before' |
66d0a03d3afc
extdiff: preserve execute-bit across copies (issue1562)
Patrick Mezard <pmezard@gmail.com>
parents:
7758
diff
changeset
|
54 |
hg diff --git |
66d0a03d3afc
extdiff: preserve execute-bit across copies (issue1562)
Patrick Mezard <pmezard@gmail.com>
parents:
7758
diff
changeset
|
55 |
echo '% edit with extdiff -p' |
66d0a03d3afc
extdiff: preserve execute-bit across copies (issue1562)
Patrick Mezard <pmezard@gmail.com>
parents:
7758
diff
changeset
|
56 |
# prepare custom diff/edit tool |
8212
bf795c34c63d
test-extdiff: replace shell script with python for portability
Patrick Mezard <pmezard@gmail.com>
parents:
8065
diff
changeset
|
57 |
cat > differ.py << EOT |
bf795c34c63d
test-extdiff: replace shell script with python for portability
Patrick Mezard <pmezard@gmail.com>
parents:
8065
diff
changeset
|
58 |
#!/usr/bin/env python |
bf795c34c63d
test-extdiff: replace shell script with python for portability
Patrick Mezard <pmezard@gmail.com>
parents:
8065
diff
changeset
|
59 |
import time |
bf795c34c63d
test-extdiff: replace shell script with python for portability
Patrick Mezard <pmezard@gmail.com>
parents:
8065
diff
changeset
|
60 |
time.sleep(1) # avoid unchanged-timestamp problems |
bf795c34c63d
test-extdiff: replace shell script with python for portability
Patrick Mezard <pmezard@gmail.com>
parents:
8065
diff
changeset
|
61 |
file('a/a', 'ab').write('edited\n') |
bf795c34c63d
test-extdiff: replace shell script with python for portability
Patrick Mezard <pmezard@gmail.com>
parents:
8065
diff
changeset
|
62 |
file('a/b', 'ab').write('edited\n') |
8065
66d0a03d3afc
extdiff: preserve execute-bit across copies (issue1562)
Patrick Mezard <pmezard@gmail.com>
parents:
7758
diff
changeset
|
63 |
EOT |
8212
bf795c34c63d
test-extdiff: replace shell script with python for portability
Patrick Mezard <pmezard@gmail.com>
parents:
8065
diff
changeset
|
64 |
chmod +x differ.py |
bf795c34c63d
test-extdiff: replace shell script with python for portability
Patrick Mezard <pmezard@gmail.com>
parents:
8065
diff
changeset
|
65 |
hg extdiff -p `pwd`/differ.py # will change to /tmp/extdiff.TMP and populate directories a.TMP and a and start tool |
8065
66d0a03d3afc
extdiff: preserve execute-bit across copies (issue1562)
Patrick Mezard <pmezard@gmail.com>
parents:
7758
diff
changeset
|
66 |
echo '% diff in working directory, after' |
66d0a03d3afc
extdiff: preserve execute-bit across copies (issue1562)
Patrick Mezard <pmezard@gmail.com>
parents:
7758
diff
changeset
|
67 |
hg diff --git |