annotate tests/test-extdiff.t @ 40417:49c7b701fdc2 stable

phase: add an archived phase This phase allows for hidden changesets in the "user space". It differs from the "internal" phase which is intended for internal by-product only. There have been discussions at the 4.8 sprint to use such phase to speedup cleanup after history rewriting operation. Shipping it in the same release as the 'internal-phase' groups the associated `requires` entry. The important bit is to have support for this phase in the earliest version of mercurial possible. Adding the UI to manipulate this new phase later seems fine. The current plan for archived usage and user interface are as follow. On a repository with internal-phase on and evolution off: * history rewriting command set rewritten changeset in the archived phase. (This mean updating the cleanupnodes method). * keep `hg unbundle .hg/strip-backup/X.hg` as a way to restore changeset for now (backup bundle need to contains phase data) * [maybe] add a `hg strip --soft` advance flag (a light way to expose the feature without getting in the way of a better UI) Mercurial 4.8 freeze is too close to get the above in by then. We don't introduce a new repository `requirement` as we reuse the one introduced with the 'archived' phase during the 4.8 cycle.
author Boris Feld <boris.feld@octobus.net>
date Wed, 17 Oct 2018 14:47:01 +0200
parents 5abc47d4ca6b
children fa471151d269
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
12304
41dd368b6fe8 tests: unify test-extdiff
Adrian Buehlmann <adrian@cadifra.com>
parents: 10775
diff changeset
1 $ echo "[extensions]" >> $HGRCPATH
41dd368b6fe8 tests: unify test-extdiff
Adrian Buehlmann <adrian@cadifra.com>
parents: 10775
diff changeset
2 $ echo "extdiff=" >> $HGRCPATH
2906
453097750fbf extdiff: fix bugs. add test.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff changeset
3
12304
41dd368b6fe8 tests: unify test-extdiff
Adrian Buehlmann <adrian@cadifra.com>
parents: 10775
diff changeset
4 $ hg init a
41dd368b6fe8 tests: unify test-extdiff
Adrian Buehlmann <adrian@cadifra.com>
parents: 10775
diff changeset
5 $ cd a
41dd368b6fe8 tests: unify test-extdiff
Adrian Buehlmann <adrian@cadifra.com>
parents: 10775
diff changeset
6 $ echo a > a
41dd368b6fe8 tests: unify test-extdiff
Adrian Buehlmann <adrian@cadifra.com>
parents: 10775
diff changeset
7 $ echo b > b
41dd368b6fe8 tests: unify test-extdiff
Adrian Buehlmann <adrian@cadifra.com>
parents: 10775
diff changeset
8 $ hg add
41dd368b6fe8 tests: unify test-extdiff
Adrian Buehlmann <adrian@cadifra.com>
parents: 10775
diff changeset
9 adding a
41dd368b6fe8 tests: unify test-extdiff
Adrian Buehlmann <adrian@cadifra.com>
parents: 10775
diff changeset
10 adding b
2906
453097750fbf extdiff: fix bugs. add test.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff changeset
11
12304
41dd368b6fe8 tests: unify test-extdiff
Adrian Buehlmann <adrian@cadifra.com>
parents: 10775
diff changeset
12 Should diff cloned directories:
41dd368b6fe8 tests: unify test-extdiff
Adrian Buehlmann <adrian@cadifra.com>
parents: 10775
diff changeset
13
41dd368b6fe8 tests: unify test-extdiff
Adrian Buehlmann <adrian@cadifra.com>
parents: 10775
diff changeset
14 $ hg extdiff -o -r $opt
41dd368b6fe8 tests: unify test-extdiff
Adrian Buehlmann <adrian@cadifra.com>
parents: 10775
diff changeset
15 Only in a: a
41dd368b6fe8 tests: unify test-extdiff
Adrian Buehlmann <adrian@cadifra.com>
parents: 10775
diff changeset
16 Only in a: b
12316
4134686b83e1 tests: add exit codes to unified tests
Matt Mackall <mpm@selenic.com>
parents: 12304
diff changeset
17 [1]
12304
41dd368b6fe8 tests: unify test-extdiff
Adrian Buehlmann <adrian@cadifra.com>
parents: 10775
diff changeset
18
23172
e955549cd045 tests: write hgrc of more than two lines by using shell heredoc
Yuya Nishihara <yuya@tcha.org>
parents: 23152
diff changeset
19 $ cat <<EOF >> $HGRCPATH
e955549cd045 tests: write hgrc of more than two lines by using shell heredoc
Yuya Nishihara <yuya@tcha.org>
parents: 23152
diff changeset
20 > [extdiff]
e955549cd045 tests: write hgrc of more than two lines by using shell heredoc
Yuya Nishihara <yuya@tcha.org>
parents: 23152
diff changeset
21 > cmd.falabala = echo
e955549cd045 tests: write hgrc of more than two lines by using shell heredoc
Yuya Nishihara <yuya@tcha.org>
parents: 23152
diff changeset
22 > opts.falabala = diffing
e955549cd045 tests: write hgrc of more than two lines by using shell heredoc
Yuya Nishihara <yuya@tcha.org>
parents: 23152
diff changeset
23 > cmd.edspace = echo
e955549cd045 tests: write hgrc of more than two lines by using shell heredoc
Yuya Nishihara <yuya@tcha.org>
parents: 23152
diff changeset
24 > opts.edspace = "name <user@example.com>"
e955549cd045 tests: write hgrc of more than two lines by using shell heredoc
Yuya Nishihara <yuya@tcha.org>
parents: 23152
diff changeset
25 > EOF
12304
41dd368b6fe8 tests: unify test-extdiff
Adrian Buehlmann <adrian@cadifra.com>
parents: 10775
diff changeset
26
41dd368b6fe8 tests: unify test-extdiff
Adrian Buehlmann <adrian@cadifra.com>
parents: 10775
diff changeset
27 $ hg falabala
41dd368b6fe8 tests: unify test-extdiff
Adrian Buehlmann <adrian@cadifra.com>
parents: 10775
diff changeset
28 diffing a.000000000000 a
12316
4134686b83e1 tests: add exit codes to unified tests
Matt Mackall <mpm@selenic.com>
parents: 12304
diff changeset
29 [1]
2906
453097750fbf extdiff: fix bugs. add test.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff changeset
30
12304
41dd368b6fe8 tests: unify test-extdiff
Adrian Buehlmann <adrian@cadifra.com>
parents: 10775
diff changeset
31 $ hg help falabala
41dd368b6fe8 tests: unify test-extdiff
Adrian Buehlmann <adrian@cadifra.com>
parents: 10775
diff changeset
32 hg falabala [OPTION]... [FILE]...
41dd368b6fe8 tests: unify test-extdiff
Adrian Buehlmann <adrian@cadifra.com>
parents: 10775
diff changeset
33
29723
91b2f2176395 extdiff: isolate path variable of saved command to independent paragraph
Yuya Nishihara <yuya@tcha.org>
parents: 29630
diff changeset
34 use external program to diff repository (or selected files)
12304
41dd368b6fe8 tests: unify test-extdiff
Adrian Buehlmann <adrian@cadifra.com>
parents: 10775
diff changeset
35
41dd368b6fe8 tests: unify test-extdiff
Adrian Buehlmann <adrian@cadifra.com>
parents: 10775
diff changeset
36 Show differences between revisions for the specified files, using the
29723
91b2f2176395 extdiff: isolate path variable of saved command to independent paragraph
Yuya Nishihara <yuya@tcha.org>
parents: 29630
diff changeset
37 following program:
91b2f2176395 extdiff: isolate path variable of saved command to independent paragraph
Yuya Nishihara <yuya@tcha.org>
parents: 29630
diff changeset
38
91b2f2176395 extdiff: isolate path variable of saved command to independent paragraph
Yuya Nishihara <yuya@tcha.org>
parents: 29630
diff changeset
39 'echo'
12304
41dd368b6fe8 tests: unify test-extdiff
Adrian Buehlmann <adrian@cadifra.com>
parents: 10775
diff changeset
40
41dd368b6fe8 tests: unify test-extdiff
Adrian Buehlmann <adrian@cadifra.com>
parents: 10775
diff changeset
41 When two revision arguments are given, then changes are shown between
41dd368b6fe8 tests: unify test-extdiff
Adrian Buehlmann <adrian@cadifra.com>
parents: 10775
diff changeset
42 those revisions. If only one revision is specified then that revision is
41dd368b6fe8 tests: unify test-extdiff
Adrian Buehlmann <adrian@cadifra.com>
parents: 10775
diff changeset
43 compared to the working directory, and, when no revisions are specified,
41dd368b6fe8 tests: unify test-extdiff
Adrian Buehlmann <adrian@cadifra.com>
parents: 10775
diff changeset
44 the working directory files are compared to its parent.
41dd368b6fe8 tests: unify test-extdiff
Adrian Buehlmann <adrian@cadifra.com>
parents: 10775
diff changeset
45
22117
c1d93edcf004 help: fold repeatable option message into option table header
Matt Mackall <mpm@selenic.com>
parents: 22110
diff changeset
46 options ([+] can be repeated):
12304
41dd368b6fe8 tests: unify test-extdiff
Adrian Buehlmann <adrian@cadifra.com>
parents: 10775
diff changeset
47
15145
ff26712a0c50 help: use RST to format option lists
Matt Mackall <mpm@selenic.com>
parents: 14024
diff changeset
48 -o --option OPT [+] pass option to comparison program
ff26712a0c50 help: use RST to format option lists
Matt Mackall <mpm@selenic.com>
parents: 14024
diff changeset
49 -r --rev REV [+] revision
ff26712a0c50 help: use RST to format option lists
Matt Mackall <mpm@selenic.com>
parents: 14024
diff changeset
50 -c --change REV change made by revision
30152
d65e246100ed help: backout f3c4edfd35e1 (mark boolean flags with [no-] in help) for now
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 30024
diff changeset
51 --patch compare patches for two revisions
15145
ff26712a0c50 help: use RST to format option lists
Matt Mackall <mpm@selenic.com>
parents: 14024
diff changeset
52 -I --include PATTERN [+] include names matching the given patterns
ff26712a0c50 help: use RST to format option lists
Matt Mackall <mpm@selenic.com>
parents: 14024
diff changeset
53 -X --exclude PATTERN [+] exclude names matching the given patterns
30152
d65e246100ed help: backout f3c4edfd35e1 (mark boolean flags with [no-] in help) for now
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 30024
diff changeset
54 -S --subrepos recurse into subrepositories
12304
41dd368b6fe8 tests: unify test-extdiff
Adrian Buehlmann <adrian@cadifra.com>
parents: 10775
diff changeset
55
22110
26f7c8033bed help: tweak --verbose command help hint
Matt Mackall <mpm@selenic.com>
parents: 17837
diff changeset
56 (some details hidden, use --verbose to show complete help)
2906
453097750fbf extdiff: fix bugs. add test.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff changeset
57
12304
41dd368b6fe8 tests: unify test-extdiff
Adrian Buehlmann <adrian@cadifra.com>
parents: 10775
diff changeset
58 $ hg ci -d '0 0' -mtest1
2906
453097750fbf extdiff: fix bugs. add test.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff changeset
59
12304
41dd368b6fe8 tests: unify test-extdiff
Adrian Buehlmann <adrian@cadifra.com>
parents: 10775
diff changeset
60 $ echo b >> a
41dd368b6fe8 tests: unify test-extdiff
Adrian Buehlmann <adrian@cadifra.com>
parents: 10775
diff changeset
61 $ hg ci -d '1 0' -mtest2
41dd368b6fe8 tests: unify test-extdiff
Adrian Buehlmann <adrian@cadifra.com>
parents: 10775
diff changeset
62
41dd368b6fe8 tests: unify test-extdiff
Adrian Buehlmann <adrian@cadifra.com>
parents: 10775
diff changeset
63 Should diff cloned files directly:
41dd368b6fe8 tests: unify test-extdiff
Adrian Buehlmann <adrian@cadifra.com>
parents: 10775
diff changeset
64
24885
eea3977e6fca windows: make shellquote() quote any path containing '\' (issue4629)
Matt Harbison <matt_harbison@yahoo.com>
parents: 24153
diff changeset
65 $ hg falabala -r 0:1
32214
c05f71e57ec4 test-extdiff: deduplicate tests
Matt Harbison <matt_harbison@yahoo.com>
parents: 32213
diff changeset
66 diffing "*\\extdiff.*\\a.8a5febb7f867\\a" "a.34eed99112ab\\a" (glob) (windows !)
c05f71e57ec4 test-extdiff: deduplicate tests
Matt Harbison <matt_harbison@yahoo.com>
parents: 32213
diff changeset
67 diffing */extdiff.*/a.8a5febb7f867/a a.34eed99112ab/a (glob) (no-windows !)
24885
eea3977e6fca windows: make shellquote() quote any path containing '\' (issue4629)
Matt Harbison <matt_harbison@yahoo.com>
parents: 24153
diff changeset
68 [1]
12304
41dd368b6fe8 tests: unify test-extdiff
Adrian Buehlmann <adrian@cadifra.com>
parents: 10775
diff changeset
69
26836
88c4e97b9669 scmutil: abort if an empty revision is given to revpair()
Matt Harbison <matt_harbison@yahoo.com>
parents: 26228
diff changeset
70 Specifying an empty revision should abort.
88c4e97b9669 scmutil: abort if an empty revision is given to revpair()
Matt Harbison <matt_harbison@yahoo.com>
parents: 26228
diff changeset
71
28053
34a2944aac9b check-code: add rule to detect usage of external diff via extdiff
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 27183
diff changeset
72 $ hg extdiff -p diff --patch --rev 'ancestor()' --rev 1
26836
88c4e97b9669 scmutil: abort if an empty revision is given to revpair()
Matt Harbison <matt_harbison@yahoo.com>
parents: 26228
diff changeset
73 abort: empty revision on one side of range
88c4e97b9669 scmutil: abort if an empty revision is given to revpair()
Matt Harbison <matt_harbison@yahoo.com>
parents: 26228
diff changeset
74 [255]
88c4e97b9669 scmutil: abort if an empty revision is given to revpair()
Matt Harbison <matt_harbison@yahoo.com>
parents: 26228
diff changeset
75
12304
41dd368b6fe8 tests: unify test-extdiff
Adrian Buehlmann <adrian@cadifra.com>
parents: 10775
diff changeset
76 Test diff during merge:
2906
453097750fbf extdiff: fix bugs. add test.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff changeset
77
12304
41dd368b6fe8 tests: unify test-extdiff
Adrian Buehlmann <adrian@cadifra.com>
parents: 10775
diff changeset
78 $ hg update -C 0
41dd368b6fe8 tests: unify test-extdiff
Adrian Buehlmann <adrian@cadifra.com>
parents: 10775
diff changeset
79 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
41dd368b6fe8 tests: unify test-extdiff
Adrian Buehlmann <adrian@cadifra.com>
parents: 10775
diff changeset
80 $ echo c >> c
41dd368b6fe8 tests: unify test-extdiff
Adrian Buehlmann <adrian@cadifra.com>
parents: 10775
diff changeset
81 $ hg add c
41dd368b6fe8 tests: unify test-extdiff
Adrian Buehlmann <adrian@cadifra.com>
parents: 10775
diff changeset
82 $ hg ci -m "new branch" -d '1 0'
41dd368b6fe8 tests: unify test-extdiff
Adrian Buehlmann <adrian@cadifra.com>
parents: 10775
diff changeset
83 created new head
41dd368b6fe8 tests: unify test-extdiff
Adrian Buehlmann <adrian@cadifra.com>
parents: 10775
diff changeset
84 $ hg merge 1
41dd368b6fe8 tests: unify test-extdiff
Adrian Buehlmann <adrian@cadifra.com>
parents: 10775
diff changeset
85 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
41dd368b6fe8 tests: unify test-extdiff
Adrian Buehlmann <adrian@cadifra.com>
parents: 10775
diff changeset
86 (branch merge, don't forget to commit)
2906
453097750fbf extdiff: fix bugs. add test.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff changeset
87
12304
41dd368b6fe8 tests: unify test-extdiff
Adrian Buehlmann <adrian@cadifra.com>
parents: 10775
diff changeset
88 Should diff cloned file against wc file:
41dd368b6fe8 tests: unify test-extdiff
Adrian Buehlmann <adrian@cadifra.com>
parents: 10775
diff changeset
89
24885
eea3977e6fca windows: make shellquote() quote any path containing '\' (issue4629)
Matt Harbison <matt_harbison@yahoo.com>
parents: 24153
diff changeset
90 $ hg falabala
32214
c05f71e57ec4 test-extdiff: deduplicate tests
Matt Harbison <matt_harbison@yahoo.com>
parents: 32213
diff changeset
91 diffing "*\\extdiff.*\\a.2a13a4d2da36\\a" "*\\a\\a" (glob) (windows !)
c05f71e57ec4 test-extdiff: deduplicate tests
Matt Harbison <matt_harbison@yahoo.com>
parents: 32213
diff changeset
92 diffing */extdiff.*/a.2a13a4d2da36/a */a/a (glob) (no-windows !)
24885
eea3977e6fca windows: make shellquote() quote any path containing '\' (issue4629)
Matt Harbison <matt_harbison@yahoo.com>
parents: 24153
diff changeset
93 [1]
12304
41dd368b6fe8 tests: unify test-extdiff
Adrian Buehlmann <adrian@cadifra.com>
parents: 10775
diff changeset
94
41dd368b6fe8 tests: unify test-extdiff
Adrian Buehlmann <adrian@cadifra.com>
parents: 10775
diff changeset
95
41dd368b6fe8 tests: unify test-extdiff
Adrian Buehlmann <adrian@cadifra.com>
parents: 10775
diff changeset
96 Test --change option:
3330
49966b5ab16f fix traceback of extdiff after a merge
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents: 2990
diff changeset
97
12304
41dd368b6fe8 tests: unify test-extdiff
Adrian Buehlmann <adrian@cadifra.com>
parents: 10775
diff changeset
98 $ hg ci -d '2 0' -mtest3
32214
c05f71e57ec4 test-extdiff: deduplicate tests
Matt Harbison <matt_harbison@yahoo.com>
parents: 32213
diff changeset
99
24885
eea3977e6fca windows: make shellquote() quote any path containing '\' (issue4629)
Matt Harbison <matt_harbison@yahoo.com>
parents: 24153
diff changeset
100 $ hg falabala -c 1
32214
c05f71e57ec4 test-extdiff: deduplicate tests
Matt Harbison <matt_harbison@yahoo.com>
parents: 32213
diff changeset
101 diffing "*\\extdiff.*\\a.8a5febb7f867\\a" "a.34eed99112ab\\a" (glob) (windows !)
c05f71e57ec4 test-extdiff: deduplicate tests
Matt Harbison <matt_harbison@yahoo.com>
parents: 32213
diff changeset
102 diffing */extdiff.*/a.8a5febb7f867/a a.34eed99112ab/a (glob) (no-windows !)
24885
eea3977e6fca windows: make shellquote() quote any path containing '\' (issue4629)
Matt Harbison <matt_harbison@yahoo.com>
parents: 24153
diff changeset
103 [1]
12304
41dd368b6fe8 tests: unify test-extdiff
Adrian Buehlmann <adrian@cadifra.com>
parents: 10775
diff changeset
104
41dd368b6fe8 tests: unify test-extdiff
Adrian Buehlmann <adrian@cadifra.com>
parents: 10775
diff changeset
105 Check diff are made from the first parent:
41dd368b6fe8 tests: unify test-extdiff
Adrian Buehlmann <adrian@cadifra.com>
parents: 10775
diff changeset
106
24885
eea3977e6fca windows: make shellquote() quote any path containing '\' (issue4629)
Matt Harbison <matt_harbison@yahoo.com>
parents: 24153
diff changeset
107 $ hg falabala -c 3 || echo "diff-like tools yield a non-zero exit code"
32214
c05f71e57ec4 test-extdiff: deduplicate tests
Matt Harbison <matt_harbison@yahoo.com>
parents: 32213
diff changeset
108 diffing "*\\extdiff.*\\a.2a13a4d2da36\\a" "a.46c0e4daeb72\\a" (glob) (windows !)
c05f71e57ec4 test-extdiff: deduplicate tests
Matt Harbison <matt_harbison@yahoo.com>
parents: 32213
diff changeset
109 diffing */extdiff.*/a.2a13a4d2da36/a a.46c0e4daeb72/a (glob) (no-windows !)
24885
eea3977e6fca windows: make shellquote() quote any path containing '\' (issue4629)
Matt Harbison <matt_harbison@yahoo.com>
parents: 24153
diff changeset
110 diff-like tools yield a non-zero exit code
12304
41dd368b6fe8 tests: unify test-extdiff
Adrian Buehlmann <adrian@cadifra.com>
parents: 10775
diff changeset
111
27183
0945539a3a6b extdiff: correctly handle deleted subrepositories (issue3153)
Andrew Zwicky <andrew.zwicky@gmail.com>
parents: 26836
diff changeset
112 issue3153: ensure using extdiff with removed subrepos doesn't crash:
0945539a3a6b extdiff: correctly handle deleted subrepositories (issue3153)
Andrew Zwicky <andrew.zwicky@gmail.com>
parents: 26836
diff changeset
113
0945539a3a6b extdiff: correctly handle deleted subrepositories (issue3153)
Andrew Zwicky <andrew.zwicky@gmail.com>
parents: 26836
diff changeset
114 $ hg init suba
0945539a3a6b extdiff: correctly handle deleted subrepositories (issue3153)
Andrew Zwicky <andrew.zwicky@gmail.com>
parents: 26836
diff changeset
115 $ cd suba
0945539a3a6b extdiff: correctly handle deleted subrepositories (issue3153)
Andrew Zwicky <andrew.zwicky@gmail.com>
parents: 26836
diff changeset
116 $ echo suba > suba
0945539a3a6b extdiff: correctly handle deleted subrepositories (issue3153)
Andrew Zwicky <andrew.zwicky@gmail.com>
parents: 26836
diff changeset
117 $ hg add
0945539a3a6b extdiff: correctly handle deleted subrepositories (issue3153)
Andrew Zwicky <andrew.zwicky@gmail.com>
parents: 26836
diff changeset
118 adding suba
0945539a3a6b extdiff: correctly handle deleted subrepositories (issue3153)
Andrew Zwicky <andrew.zwicky@gmail.com>
parents: 26836
diff changeset
119 $ hg ci -m "adding suba file"
0945539a3a6b extdiff: correctly handle deleted subrepositories (issue3153)
Andrew Zwicky <andrew.zwicky@gmail.com>
parents: 26836
diff changeset
120 $ cd ..
0945539a3a6b extdiff: correctly handle deleted subrepositories (issue3153)
Andrew Zwicky <andrew.zwicky@gmail.com>
parents: 26836
diff changeset
121 $ echo suba=suba > .hgsub
0945539a3a6b extdiff: correctly handle deleted subrepositories (issue3153)
Andrew Zwicky <andrew.zwicky@gmail.com>
parents: 26836
diff changeset
122 $ hg add
0945539a3a6b extdiff: correctly handle deleted subrepositories (issue3153)
Andrew Zwicky <andrew.zwicky@gmail.com>
parents: 26836
diff changeset
123 adding .hgsub
0945539a3a6b extdiff: correctly handle deleted subrepositories (issue3153)
Andrew Zwicky <andrew.zwicky@gmail.com>
parents: 26836
diff changeset
124 $ hg ci -Sm "adding subrepo"
0945539a3a6b extdiff: correctly handle deleted subrepositories (issue3153)
Andrew Zwicky <andrew.zwicky@gmail.com>
parents: 26836
diff changeset
125 $ echo > .hgsub
0945539a3a6b extdiff: correctly handle deleted subrepositories (issue3153)
Andrew Zwicky <andrew.zwicky@gmail.com>
parents: 26836
diff changeset
126 $ hg ci -m "removing subrepo"
0945539a3a6b extdiff: correctly handle deleted subrepositories (issue3153)
Andrew Zwicky <andrew.zwicky@gmail.com>
parents: 26836
diff changeset
127 $ hg falabala -r 4 -r 5 -S
0945539a3a6b extdiff: correctly handle deleted subrepositories (issue3153)
Andrew Zwicky <andrew.zwicky@gmail.com>
parents: 26836
diff changeset
128 diffing a.398e36faf9c6 a.5ab95fb166c4
0945539a3a6b extdiff: correctly handle deleted subrepositories (issue3153)
Andrew Zwicky <andrew.zwicky@gmail.com>
parents: 26836
diff changeset
129 [1]
0945539a3a6b extdiff: correctly handle deleted subrepositories (issue3153)
Andrew Zwicky <andrew.zwicky@gmail.com>
parents: 26836
diff changeset
130
23680
4075f2f8ea53 extdiff: avoid unexpected quoting arguments for external tools (issue4463)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 23172
diff changeset
131 issue4463: usage of command line configuration without additional quoting
4075f2f8ea53 extdiff: avoid unexpected quoting arguments for external tools (issue4463)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 23172
diff changeset
132
4075f2f8ea53 extdiff: avoid unexpected quoting arguments for external tools (issue4463)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 23172
diff changeset
133 $ cat <<EOF >> $HGRCPATH
4075f2f8ea53 extdiff: avoid unexpected quoting arguments for external tools (issue4463)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 23172
diff changeset
134 > [extdiff]
4075f2f8ea53 extdiff: avoid unexpected quoting arguments for external tools (issue4463)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 23172
diff changeset
135 > cmd.4463a = echo
4075f2f8ea53 extdiff: avoid unexpected quoting arguments for external tools (issue4463)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 23172
diff changeset
136 > opts.4463a = a-naked 'single quoted' "double quoted"
4075f2f8ea53 extdiff: avoid unexpected quoting arguments for external tools (issue4463)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 23172
diff changeset
137 > 4463b = echo b-naked 'single quoted' "double quoted"
4075f2f8ea53 extdiff: avoid unexpected quoting arguments for external tools (issue4463)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 23172
diff changeset
138 > echo =
4075f2f8ea53 extdiff: avoid unexpected quoting arguments for external tools (issue4463)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 23172
diff changeset
139 > EOF
4075f2f8ea53 extdiff: avoid unexpected quoting arguments for external tools (issue4463)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 23172
diff changeset
140 $ hg update -q -C 0
4075f2f8ea53 extdiff: avoid unexpected quoting arguments for external tools (issue4463)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 23172
diff changeset
141 $ echo a >> a
32214
c05f71e57ec4 test-extdiff: deduplicate tests
Matt Harbison <matt_harbison@yahoo.com>
parents: 32213
diff changeset
142
23680
4075f2f8ea53 extdiff: avoid unexpected quoting arguments for external tools (issue4463)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 23172
diff changeset
143 $ hg --debug 4463a | grep '^running'
32214
c05f71e57ec4 test-extdiff: deduplicate tests
Matt Harbison <matt_harbison@yahoo.com>
parents: 32213
diff changeset
144 running 'echo a-naked \'single quoted\' "double quoted" "*\\a" "*\\a"' in */extdiff.* (glob) (windows !)
c05f71e57ec4 test-extdiff: deduplicate tests
Matt Harbison <matt_harbison@yahoo.com>
parents: 32213
diff changeset
145 running 'echo a-naked \'single quoted\' "double quoted" */a $TESTTMP/a/a' in */extdiff.* (glob) (no-windows !)
23680
4075f2f8ea53 extdiff: avoid unexpected quoting arguments for external tools (issue4463)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 23172
diff changeset
146 $ hg --debug 4463b | grep '^running'
32214
c05f71e57ec4 test-extdiff: deduplicate tests
Matt Harbison <matt_harbison@yahoo.com>
parents: 32213
diff changeset
147 running 'echo b-naked \'single quoted\' "double quoted" "*\\a" "*\\a"' in */extdiff.* (glob) (windows !)
c05f71e57ec4 test-extdiff: deduplicate tests
Matt Harbison <matt_harbison@yahoo.com>
parents: 32213
diff changeset
148 running 'echo b-naked \'single quoted\' "double quoted" */a $TESTTMP/a/a' in */extdiff.* (glob) (no-windows !)
23680
4075f2f8ea53 extdiff: avoid unexpected quoting arguments for external tools (issue4463)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 23172
diff changeset
149 $ hg --debug echo | grep '^running'
32214
c05f71e57ec4 test-extdiff: deduplicate tests
Matt Harbison <matt_harbison@yahoo.com>
parents: 32213
diff changeset
150 running '*echo* "*\\a" "*\\a"' in */extdiff.* (glob) (windows !)
c05f71e57ec4 test-extdiff: deduplicate tests
Matt Harbison <matt_harbison@yahoo.com>
parents: 32213
diff changeset
151 running '*echo */a $TESTTMP/a/a' in */extdiff.* (glob) (no-windows !)
23680
4075f2f8ea53 extdiff: avoid unexpected quoting arguments for external tools (issue4463)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 23172
diff changeset
152
4075f2f8ea53 extdiff: avoid unexpected quoting arguments for external tools (issue4463)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 23172
diff changeset
153 (getting options from other than extdiff section)
4075f2f8ea53 extdiff: avoid unexpected quoting arguments for external tools (issue4463)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 23172
diff changeset
154
4075f2f8ea53 extdiff: avoid unexpected quoting arguments for external tools (issue4463)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 23172
diff changeset
155 $ cat <<EOF >> $HGRCPATH
4075f2f8ea53 extdiff: avoid unexpected quoting arguments for external tools (issue4463)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 23172
diff changeset
156 > [extdiff]
4075f2f8ea53 extdiff: avoid unexpected quoting arguments for external tools (issue4463)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 23172
diff changeset
157 > # using diff-tools diffargs
4075f2f8ea53 extdiff: avoid unexpected quoting arguments for external tools (issue4463)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 23172
diff changeset
158 > 4463b2 = echo
4075f2f8ea53 extdiff: avoid unexpected quoting arguments for external tools (issue4463)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 23172
diff changeset
159 > # using merge-tools diffargs
4075f2f8ea53 extdiff: avoid unexpected quoting arguments for external tools (issue4463)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 23172
diff changeset
160 > 4463b3 = echo
4075f2f8ea53 extdiff: avoid unexpected quoting arguments for external tools (issue4463)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 23172
diff changeset
161 > # no diffargs
4075f2f8ea53 extdiff: avoid unexpected quoting arguments for external tools (issue4463)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 23172
diff changeset
162 > 4463b4 = echo
4075f2f8ea53 extdiff: avoid unexpected quoting arguments for external tools (issue4463)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 23172
diff changeset
163 > [diff-tools]
4075f2f8ea53 extdiff: avoid unexpected quoting arguments for external tools (issue4463)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 23172
diff changeset
164 > 4463b2.diffargs = b2-naked 'single quoted' "double quoted"
4075f2f8ea53 extdiff: avoid unexpected quoting arguments for external tools (issue4463)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 23172
diff changeset
165 > [merge-tools]
4075f2f8ea53 extdiff: avoid unexpected quoting arguments for external tools (issue4463)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 23172
diff changeset
166 > 4463b3.diffargs = b3-naked 'single quoted' "double quoted"
4075f2f8ea53 extdiff: avoid unexpected quoting arguments for external tools (issue4463)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 23172
diff changeset
167 > EOF
32214
c05f71e57ec4 test-extdiff: deduplicate tests
Matt Harbison <matt_harbison@yahoo.com>
parents: 32213
diff changeset
168
23680
4075f2f8ea53 extdiff: avoid unexpected quoting arguments for external tools (issue4463)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 23172
diff changeset
169 $ hg --debug 4463b2 | grep '^running'
32214
c05f71e57ec4 test-extdiff: deduplicate tests
Matt Harbison <matt_harbison@yahoo.com>
parents: 32213
diff changeset
170 running 'echo b2-naked \'single quoted\' "double quoted" "*\\a" "*\\a"' in */extdiff.* (glob) (windows !)
c05f71e57ec4 test-extdiff: deduplicate tests
Matt Harbison <matt_harbison@yahoo.com>
parents: 32213
diff changeset
171 running 'echo b2-naked \'single quoted\' "double quoted" */a $TESTTMP/a/a' in */extdiff.* (glob) (no-windows !)
23680
4075f2f8ea53 extdiff: avoid unexpected quoting arguments for external tools (issue4463)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 23172
diff changeset
172 $ hg --debug 4463b3 | grep '^running'
32214
c05f71e57ec4 test-extdiff: deduplicate tests
Matt Harbison <matt_harbison@yahoo.com>
parents: 32213
diff changeset
173 running 'echo b3-naked \'single quoted\' "double quoted" "*\\a" "*\\a"' in */extdiff.* (glob) (windows !)
c05f71e57ec4 test-extdiff: deduplicate tests
Matt Harbison <matt_harbison@yahoo.com>
parents: 32213
diff changeset
174 running 'echo b3-naked \'single quoted\' "double quoted" */a $TESTTMP/a/a' in */extdiff.* (glob) (no-windows !)
23680
4075f2f8ea53 extdiff: avoid unexpected quoting arguments for external tools (issue4463)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 23172
diff changeset
175 $ hg --debug 4463b4 | grep '^running'
32214
c05f71e57ec4 test-extdiff: deduplicate tests
Matt Harbison <matt_harbison@yahoo.com>
parents: 32213
diff changeset
176 running 'echo "*\\a" "*\\a"' in */extdiff.* (glob) (windows !)
c05f71e57ec4 test-extdiff: deduplicate tests
Matt Harbison <matt_harbison@yahoo.com>
parents: 32213
diff changeset
177 running 'echo */a $TESTTMP/a/a' in */extdiff.* (glob) (no-windows !)
23682
1642eb429536 windows: quote the specified string only when it has to be quoted
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 23680
diff changeset
178 $ hg --debug 4463b4 --option b4-naked --option 'being quoted' | grep '^running'
32214
c05f71e57ec4 test-extdiff: deduplicate tests
Matt Harbison <matt_harbison@yahoo.com>
parents: 32213
diff changeset
179 running 'echo b4-naked "being quoted" "*\\a" "*\\a"' in */extdiff.* (glob) (windows !)
c05f71e57ec4 test-extdiff: deduplicate tests
Matt Harbison <matt_harbison@yahoo.com>
parents: 32213
diff changeset
180 running "echo b4-naked 'being quoted' */a $TESTTMP/a/a" in */extdiff.* (glob) (no-windows !)
23682
1642eb429536 windows: quote the specified string only when it has to be quoted
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 23680
diff changeset
181 $ hg --debug extdiff -p echo --option echo-naked --option 'being quoted' | grep '^running'
32214
c05f71e57ec4 test-extdiff: deduplicate tests
Matt Harbison <matt_harbison@yahoo.com>
parents: 32213
diff changeset
182 running 'echo echo-naked "being quoted" "*\\a" "*\\a"' in */extdiff.* (glob) (windows !)
c05f71e57ec4 test-extdiff: deduplicate tests
Matt Harbison <matt_harbison@yahoo.com>
parents: 32213
diff changeset
183 running "echo echo-naked 'being quoted' */a $TESTTMP/a/a" in */extdiff.* (glob) (no-windows !)
23680
4075f2f8ea53 extdiff: avoid unexpected quoting arguments for external tools (issue4463)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 23172
diff changeset
184
23969
01e5b7323a48 extdiff: reintroduce backward compatibility with manual quoting of parameters
Mads Kiilerich <madski@unity3d.com>
parents: 23683
diff changeset
185 $ touch 'sp ace'
01e5b7323a48 extdiff: reintroduce backward compatibility with manual quoting of parameters
Mads Kiilerich <madski@unity3d.com>
parents: 23683
diff changeset
186 $ hg add 'sp ace'
01e5b7323a48 extdiff: reintroduce backward compatibility with manual quoting of parameters
Mads Kiilerich <madski@unity3d.com>
parents: 23683
diff changeset
187 $ hg ci -m 'sp ace'
01e5b7323a48 extdiff: reintroduce backward compatibility with manual quoting of parameters
Mads Kiilerich <madski@unity3d.com>
parents: 23683
diff changeset
188 created new head
01e5b7323a48 extdiff: reintroduce backward compatibility with manual quoting of parameters
Mads Kiilerich <madski@unity3d.com>
parents: 23683
diff changeset
189 $ echo > 'sp ace'
01e5b7323a48 extdiff: reintroduce backward compatibility with manual quoting of parameters
Mads Kiilerich <madski@unity3d.com>
parents: 23683
diff changeset
190
01e5b7323a48 extdiff: reintroduce backward compatibility with manual quoting of parameters
Mads Kiilerich <madski@unity3d.com>
parents: 23683
diff changeset
191 Test pre-72a89cf86fcd backward compatibility with half-baked manual quoting
01e5b7323a48 extdiff: reintroduce backward compatibility with manual quoting of parameters
Mads Kiilerich <madski@unity3d.com>
parents: 23683
diff changeset
192
01e5b7323a48 extdiff: reintroduce backward compatibility with manual quoting of parameters
Mads Kiilerich <madski@unity3d.com>
parents: 23683
diff changeset
193 $ cat <<EOF >> $HGRCPATH
01e5b7323a48 extdiff: reintroduce backward compatibility with manual quoting of parameters
Mads Kiilerich <madski@unity3d.com>
parents: 23683
diff changeset
194 > [extdiff]
01e5b7323a48 extdiff: reintroduce backward compatibility with manual quoting of parameters
Mads Kiilerich <madski@unity3d.com>
parents: 23683
diff changeset
195 > odd =
01e5b7323a48 extdiff: reintroduce backward compatibility with manual quoting of parameters
Mads Kiilerich <madski@unity3d.com>
parents: 23683
diff changeset
196 > [merge-tools]
01e5b7323a48 extdiff: reintroduce backward compatibility with manual quoting of parameters
Mads Kiilerich <madski@unity3d.com>
parents: 23683
diff changeset
197 > odd.diffargs = --foo='\$clabel' '\$clabel' "--bar=\$clabel" "\$clabel"
01e5b7323a48 extdiff: reintroduce backward compatibility with manual quoting of parameters
Mads Kiilerich <madski@unity3d.com>
parents: 23683
diff changeset
198 > odd.executable = echo
01e5b7323a48 extdiff: reintroduce backward compatibility with manual quoting of parameters
Mads Kiilerich <madski@unity3d.com>
parents: 23683
diff changeset
199 > EOF
32214
c05f71e57ec4 test-extdiff: deduplicate tests
Matt Harbison <matt_harbison@yahoo.com>
parents: 32213
diff changeset
200
32213
bc2e23354cc0 test-extdiff: fill in a missing Windows test
Matt Harbison <matt_harbison@yahoo.com>
parents: 30152
diff changeset
201 $ hg --debug odd | grep '^running'
32214
c05f71e57ec4 test-extdiff: deduplicate tests
Matt Harbison <matt_harbison@yahoo.com>
parents: 32213
diff changeset
202 running '"*\\echo.exe" --foo="sp ace" "sp ace" --bar="sp ace" "sp ace"' in * (glob) (windows !)
c05f71e57ec4 test-extdiff: deduplicate tests
Matt Harbison <matt_harbison@yahoo.com>
parents: 32213
diff changeset
203 running "*/echo --foo='sp ace' 'sp ace' --bar='sp ace' 'sp ace'" in * (glob) (no-windows !)
23969
01e5b7323a48 extdiff: reintroduce backward compatibility with manual quoting of parameters
Mads Kiilerich <madski@unity3d.com>
parents: 23683
diff changeset
204
24108
d65ecb814fc0 shellquote: fix missing quotes for empty string
Yuya Nishihara <yuya@tcha.org>
parents: 23974
diff changeset
205 Empty argument must be quoted
d65ecb814fc0 shellquote: fix missing quotes for empty string
Yuya Nishihara <yuya@tcha.org>
parents: 23974
diff changeset
206
d65ecb814fc0 shellquote: fix missing quotes for empty string
Yuya Nishihara <yuya@tcha.org>
parents: 23974
diff changeset
207 $ cat <<EOF >> $HGRCPATH
d65ecb814fc0 shellquote: fix missing quotes for empty string
Yuya Nishihara <yuya@tcha.org>
parents: 23974
diff changeset
208 > [extdiff]
d65ecb814fc0 shellquote: fix missing quotes for empty string
Yuya Nishihara <yuya@tcha.org>
parents: 23974
diff changeset
209 > kdiff3 = echo
d65ecb814fc0 shellquote: fix missing quotes for empty string
Yuya Nishihara <yuya@tcha.org>
parents: 23974
diff changeset
210 > [merge-tools]
d65ecb814fc0 shellquote: fix missing quotes for empty string
Yuya Nishihara <yuya@tcha.org>
parents: 23974
diff changeset
211 > kdiff3.diffargs=--L1 \$plabel1 --L2 \$clabel \$parent \$child
d65ecb814fc0 shellquote: fix missing quotes for empty string
Yuya Nishihara <yuya@tcha.org>
parents: 23974
diff changeset
212 > EOF
32214
c05f71e57ec4 test-extdiff: deduplicate tests
Matt Harbison <matt_harbison@yahoo.com>
parents: 32213
diff changeset
213
24108
d65ecb814fc0 shellquote: fix missing quotes for empty string
Yuya Nishihara <yuya@tcha.org>
parents: 23974
diff changeset
214 $ hg --debug kdiff3 -r0 | grep '^running'
32214
c05f71e57ec4 test-extdiff: deduplicate tests
Matt Harbison <matt_harbison@yahoo.com>
parents: 32213
diff changeset
215 running 'echo --L1 "@0" --L2 "" a.8a5febb7f867 a' in * (glob) (windows !)
c05f71e57ec4 test-extdiff: deduplicate tests
Matt Harbison <matt_harbison@yahoo.com>
parents: 32213
diff changeset
216 running "echo --L1 '@0' --L2 '' a.8a5febb7f867 a" in * (glob) (no-windows !)
24108
d65ecb814fc0 shellquote: fix missing quotes for empty string
Yuya Nishihara <yuya@tcha.org>
parents: 23974
diff changeset
217
16899
8149ff405c78 tests: convert some 'hghave execbit' to #if
Mads Kiilerich <mads@kiilerich.com>
parents: 15442
diff changeset
218
12304
41dd368b6fe8 tests: unify test-extdiff
Adrian Buehlmann <adrian@cadifra.com>
parents: 10775
diff changeset
219 Test extdiff of multiple files in tmp dir:
41dd368b6fe8 tests: unify test-extdiff
Adrian Buehlmann <adrian@cadifra.com>
parents: 10775
diff changeset
220
41dd368b6fe8 tests: unify test-extdiff
Adrian Buehlmann <adrian@cadifra.com>
parents: 10775
diff changeset
221 $ hg update -C 0 > /dev/null
41dd368b6fe8 tests: unify test-extdiff
Adrian Buehlmann <adrian@cadifra.com>
parents: 10775
diff changeset
222 $ echo changed > a
41dd368b6fe8 tests: unify test-extdiff
Adrian Buehlmann <adrian@cadifra.com>
parents: 10775
diff changeset
223 $ echo changed > b
32215
f41cc3dd73d6 test-extdiff: narrow the range of an '#if execbit' block
Matt Harbison <matt_harbison@yahoo.com>
parents: 32214
diff changeset
224 #if execbit
12304
41dd368b6fe8 tests: unify test-extdiff
Adrian Buehlmann <adrian@cadifra.com>
parents: 10775
diff changeset
225 $ chmod +x b
32215
f41cc3dd73d6 test-extdiff: narrow the range of an '#if execbit' block
Matt Harbison <matt_harbison@yahoo.com>
parents: 32214
diff changeset
226 #endif
12304
41dd368b6fe8 tests: unify test-extdiff
Adrian Buehlmann <adrian@cadifra.com>
parents: 10775
diff changeset
227
41dd368b6fe8 tests: unify test-extdiff
Adrian Buehlmann <adrian@cadifra.com>
parents: 10775
diff changeset
228 Diff in working directory, before:
41dd368b6fe8 tests: unify test-extdiff
Adrian Buehlmann <adrian@cadifra.com>
parents: 10775
diff changeset
229
41dd368b6fe8 tests: unify test-extdiff
Adrian Buehlmann <adrian@cadifra.com>
parents: 10775
diff changeset
230 $ hg diff --git
41dd368b6fe8 tests: unify test-extdiff
Adrian Buehlmann <adrian@cadifra.com>
parents: 10775
diff changeset
231 diff --git a/a b/a
41dd368b6fe8 tests: unify test-extdiff
Adrian Buehlmann <adrian@cadifra.com>
parents: 10775
diff changeset
232 --- a/a
41dd368b6fe8 tests: unify test-extdiff
Adrian Buehlmann <adrian@cadifra.com>
parents: 10775
diff changeset
233 +++ b/a
41dd368b6fe8 tests: unify test-extdiff
Adrian Buehlmann <adrian@cadifra.com>
parents: 10775
diff changeset
234 @@ -1,1 +1,1 @@
41dd368b6fe8 tests: unify test-extdiff
Adrian Buehlmann <adrian@cadifra.com>
parents: 10775
diff changeset
235 -a
41dd368b6fe8 tests: unify test-extdiff
Adrian Buehlmann <adrian@cadifra.com>
parents: 10775
diff changeset
236 +changed
41dd368b6fe8 tests: unify test-extdiff
Adrian Buehlmann <adrian@cadifra.com>
parents: 10775
diff changeset
237 diff --git a/b b/b
32215
f41cc3dd73d6 test-extdiff: narrow the range of an '#if execbit' block
Matt Harbison <matt_harbison@yahoo.com>
parents: 32214
diff changeset
238 old mode 100644 (execbit !)
f41cc3dd73d6 test-extdiff: narrow the range of an '#if execbit' block
Matt Harbison <matt_harbison@yahoo.com>
parents: 32214
diff changeset
239 new mode 100755 (execbit !)
12304
41dd368b6fe8 tests: unify test-extdiff
Adrian Buehlmann <adrian@cadifra.com>
parents: 10775
diff changeset
240 --- a/b
41dd368b6fe8 tests: unify test-extdiff
Adrian Buehlmann <adrian@cadifra.com>
parents: 10775
diff changeset
241 +++ b/b
41dd368b6fe8 tests: unify test-extdiff
Adrian Buehlmann <adrian@cadifra.com>
parents: 10775
diff changeset
242 @@ -1,1 +1,1 @@
41dd368b6fe8 tests: unify test-extdiff
Adrian Buehlmann <adrian@cadifra.com>
parents: 10775
diff changeset
243 -b
41dd368b6fe8 tests: unify test-extdiff
Adrian Buehlmann <adrian@cadifra.com>
parents: 10775
diff changeset
244 +changed
41dd368b6fe8 tests: unify test-extdiff
Adrian Buehlmann <adrian@cadifra.com>
parents: 10775
diff changeset
245
41dd368b6fe8 tests: unify test-extdiff
Adrian Buehlmann <adrian@cadifra.com>
parents: 10775
diff changeset
246
41dd368b6fe8 tests: unify test-extdiff
Adrian Buehlmann <adrian@cadifra.com>
parents: 10775
diff changeset
247 Edit with extdiff -p:
41dd368b6fe8 tests: unify test-extdiff
Adrian Buehlmann <adrian@cadifra.com>
parents: 10775
diff changeset
248
41dd368b6fe8 tests: unify test-extdiff
Adrian Buehlmann <adrian@cadifra.com>
parents: 10775
diff changeset
249 Prepare custom diff/edit tool:
8065
66d0a03d3afc extdiff: preserve execute-bit across copies (issue1562)
Patrick Mezard <pmezard@gmail.com>
parents: 7758
diff changeset
250
12304
41dd368b6fe8 tests: unify test-extdiff
Adrian Buehlmann <adrian@cadifra.com>
parents: 10775
diff changeset
251 $ cat > 'diff tool.py' << EOT
32938
b6776b34e44e tests: use $PYTHON in #! so we always use the right Python
Augie Fackler <augie@google.com>
parents: 32283
diff changeset
252 > #!$PYTHON
12304
41dd368b6fe8 tests: unify test-extdiff
Adrian Buehlmann <adrian@cadifra.com>
parents: 10775
diff changeset
253 > import time
41dd368b6fe8 tests: unify test-extdiff
Adrian Buehlmann <adrian@cadifra.com>
parents: 10775
diff changeset
254 > time.sleep(1) # avoid unchanged-timestamp problems
36029
d83fc41dabf3 py3: replace file() with open() in test-extdiff.t
Pulkit Goyal <7895pulkit@gmail.com>
parents: 33613
diff changeset
255 > open('a/a', 'ab').write(b'edited\n')
d83fc41dabf3 py3: replace file() with open() in test-extdiff.t
Pulkit Goyal <7895pulkit@gmail.com>
parents: 33613
diff changeset
256 > open('a/b', 'ab').write(b'edited\n')
12304
41dd368b6fe8 tests: unify test-extdiff
Adrian Buehlmann <adrian@cadifra.com>
parents: 10775
diff changeset
257 > EOT
41dd368b6fe8 tests: unify test-extdiff
Adrian Buehlmann <adrian@cadifra.com>
parents: 10775
diff changeset
258
32215
f41cc3dd73d6 test-extdiff: narrow the range of an '#if execbit' block
Matt Harbison <matt_harbison@yahoo.com>
parents: 32214
diff changeset
259 #if execbit
12304
41dd368b6fe8 tests: unify test-extdiff
Adrian Buehlmann <adrian@cadifra.com>
parents: 10775
diff changeset
260 $ chmod +x 'diff tool.py'
32215
f41cc3dd73d6 test-extdiff: narrow the range of an '#if execbit' block
Matt Harbison <matt_harbison@yahoo.com>
parents: 32214
diff changeset
261 #endif
12304
41dd368b6fe8 tests: unify test-extdiff
Adrian Buehlmann <adrian@cadifra.com>
parents: 10775
diff changeset
262
12328
b63f6422d2a7 tests: fix a bunch of pointless #s in unified tests
Matt Mackall <mpm@selenic.com>
parents: 12316
diff changeset
263 will change to /tmp/extdiff.TMP and populate directories a.TMP and a
b63f6422d2a7 tests: fix a bunch of pointless #s in unified tests
Matt Mackall <mpm@selenic.com>
parents: 12316
diff changeset
264 and start tool
b63f6422d2a7 tests: fix a bunch of pointless #s in unified tests
Matt Mackall <mpm@selenic.com>
parents: 12316
diff changeset
265
33613
3b77d4787c18 tests: avoid unexpected result at invocation of *.py file on Windows
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 32938
diff changeset
266 #if windows
3b77d4787c18 tests: avoid unexpected result at invocation of *.py file on Windows
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 32938
diff changeset
267 $ cat > 'diff tool.bat' << EOF
39707
5abc47d4ca6b tests: quote PYTHON usage
Matt Harbison <matt_harbison@yahoo.com>
parents: 36268
diff changeset
268 > @"$PYTHON" "`pwd`/diff tool.py"
33613
3b77d4787c18 tests: avoid unexpected result at invocation of *.py file on Windows
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 32938
diff changeset
269 > EOF
3b77d4787c18 tests: avoid unexpected result at invocation of *.py file on Windows
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 32938
diff changeset
270 $ hg extdiff -p "`pwd`/diff tool.bat"
3b77d4787c18 tests: avoid unexpected result at invocation of *.py file on Windows
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 32938
diff changeset
271 [1]
3b77d4787c18 tests: avoid unexpected result at invocation of *.py file on Windows
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 32938
diff changeset
272 #else
12304
41dd368b6fe8 tests: unify test-extdiff
Adrian Buehlmann <adrian@cadifra.com>
parents: 10775
diff changeset
273 $ hg extdiff -p "`pwd`/diff tool.py"
12316
4134686b83e1 tests: add exit codes to unified tests
Matt Mackall <mpm@selenic.com>
parents: 12304
diff changeset
274 [1]
33613
3b77d4787c18 tests: avoid unexpected result at invocation of *.py file on Windows
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 32938
diff changeset
275 #endif
12304
41dd368b6fe8 tests: unify test-extdiff
Adrian Buehlmann <adrian@cadifra.com>
parents: 10775
diff changeset
276
41dd368b6fe8 tests: unify test-extdiff
Adrian Buehlmann <adrian@cadifra.com>
parents: 10775
diff changeset
277 Diff in working directory, after:
9956
6045a8c4dbbc extdiff: respect --option in command aliases (issue949)
Sune Foldager <cryo@cyanite.org>
parents: 8212
diff changeset
278
12304
41dd368b6fe8 tests: unify test-extdiff
Adrian Buehlmann <adrian@cadifra.com>
parents: 10775
diff changeset
279 $ hg diff --git
41dd368b6fe8 tests: unify test-extdiff
Adrian Buehlmann <adrian@cadifra.com>
parents: 10775
diff changeset
280 diff --git a/a b/a
41dd368b6fe8 tests: unify test-extdiff
Adrian Buehlmann <adrian@cadifra.com>
parents: 10775
diff changeset
281 --- a/a
41dd368b6fe8 tests: unify test-extdiff
Adrian Buehlmann <adrian@cadifra.com>
parents: 10775
diff changeset
282 +++ b/a
41dd368b6fe8 tests: unify test-extdiff
Adrian Buehlmann <adrian@cadifra.com>
parents: 10775
diff changeset
283 @@ -1,1 +1,2 @@
41dd368b6fe8 tests: unify test-extdiff
Adrian Buehlmann <adrian@cadifra.com>
parents: 10775
diff changeset
284 -a
41dd368b6fe8 tests: unify test-extdiff
Adrian Buehlmann <adrian@cadifra.com>
parents: 10775
diff changeset
285 +changed
41dd368b6fe8 tests: unify test-extdiff
Adrian Buehlmann <adrian@cadifra.com>
parents: 10775
diff changeset
286 +edited
41dd368b6fe8 tests: unify test-extdiff
Adrian Buehlmann <adrian@cadifra.com>
parents: 10775
diff changeset
287 diff --git a/b b/b
32215
f41cc3dd73d6 test-extdiff: narrow the range of an '#if execbit' block
Matt Harbison <matt_harbison@yahoo.com>
parents: 32214
diff changeset
288 old mode 100644 (execbit !)
f41cc3dd73d6 test-extdiff: narrow the range of an '#if execbit' block
Matt Harbison <matt_harbison@yahoo.com>
parents: 32214
diff changeset
289 new mode 100755 (execbit !)
12304
41dd368b6fe8 tests: unify test-extdiff
Adrian Buehlmann <adrian@cadifra.com>
parents: 10775
diff changeset
290 --- a/b
41dd368b6fe8 tests: unify test-extdiff
Adrian Buehlmann <adrian@cadifra.com>
parents: 10775
diff changeset
291 +++ b/b
41dd368b6fe8 tests: unify test-extdiff
Adrian Buehlmann <adrian@cadifra.com>
parents: 10775
diff changeset
292 @@ -1,1 +1,2 @@
41dd368b6fe8 tests: unify test-extdiff
Adrian Buehlmann <adrian@cadifra.com>
parents: 10775
diff changeset
293 -b
41dd368b6fe8 tests: unify test-extdiff
Adrian Buehlmann <adrian@cadifra.com>
parents: 10775
diff changeset
294 +changed
41dd368b6fe8 tests: unify test-extdiff
Adrian Buehlmann <adrian@cadifra.com>
parents: 10775
diff changeset
295 +edited
41dd368b6fe8 tests: unify test-extdiff
Adrian Buehlmann <adrian@cadifra.com>
parents: 10775
diff changeset
296
41dd368b6fe8 tests: unify test-extdiff
Adrian Buehlmann <adrian@cadifra.com>
parents: 10775
diff changeset
297 Test extdiff with --option:
41dd368b6fe8 tests: unify test-extdiff
Adrian Buehlmann <adrian@cadifra.com>
parents: 10775
diff changeset
298
41dd368b6fe8 tests: unify test-extdiff
Adrian Buehlmann <adrian@cadifra.com>
parents: 10775
diff changeset
299 $ hg extdiff -p echo -o this -c 1
32215
f41cc3dd73d6 test-extdiff: narrow the range of an '#if execbit' block
Matt Harbison <matt_harbison@yahoo.com>
parents: 32214
diff changeset
300 this "*\\a.8a5febb7f867\\a" "a.34eed99112ab\\a" (glob) (windows !)
f41cc3dd73d6 test-extdiff: narrow the range of an '#if execbit' block
Matt Harbison <matt_harbison@yahoo.com>
parents: 32214
diff changeset
301 this */extdiff.*/a.8a5febb7f867/a a.34eed99112ab/a (glob) (no-windows !)
12316
4134686b83e1 tests: add exit codes to unified tests
Matt Mackall <mpm@selenic.com>
parents: 12304
diff changeset
302 [1]
12304
41dd368b6fe8 tests: unify test-extdiff
Adrian Buehlmann <adrian@cadifra.com>
parents: 10775
diff changeset
303
41dd368b6fe8 tests: unify test-extdiff
Adrian Buehlmann <adrian@cadifra.com>
parents: 10775
diff changeset
304 $ hg falabala -o this -c 1
32215
f41cc3dd73d6 test-extdiff: narrow the range of an '#if execbit' block
Matt Harbison <matt_harbison@yahoo.com>
parents: 32214
diff changeset
305 diffing this "*\\a.8a5febb7f867\\a" "a.34eed99112ab\\a" (glob) (windows !)
f41cc3dd73d6 test-extdiff: narrow the range of an '#if execbit' block
Matt Harbison <matt_harbison@yahoo.com>
parents: 32214
diff changeset
306 diffing this */extdiff.*/a.8a5febb7f867/a a.34eed99112ab/a (glob) (no-windows !)
12316
4134686b83e1 tests: add exit codes to unified tests
Matt Mackall <mpm@selenic.com>
parents: 12304
diff changeset
307 [1]
12304
41dd368b6fe8 tests: unify test-extdiff
Adrian Buehlmann <adrian@cadifra.com>
parents: 10775
diff changeset
308
23138
72a89cf86fcd extdiff: quote user-supplied options passed to shell
Michael Fyles <mf@vorston.net>
parents: 22117
diff changeset
309 Test extdiff's handling of options with spaces in them:
72a89cf86fcd extdiff: quote user-supplied options passed to shell
Michael Fyles <mf@vorston.net>
parents: 22117
diff changeset
310
72a89cf86fcd extdiff: quote user-supplied options passed to shell
Michael Fyles <mf@vorston.net>
parents: 22117
diff changeset
311 $ hg edspace -c 1
32215
f41cc3dd73d6 test-extdiff: narrow the range of an '#if execbit' block
Matt Harbison <matt_harbison@yahoo.com>
parents: 32214
diff changeset
312 "name <user@example.com>" "*\\a.8a5febb7f867\\a" "a.34eed99112ab\\a" (glob) (windows !)
f41cc3dd73d6 test-extdiff: narrow the range of an '#if execbit' block
Matt Harbison <matt_harbison@yahoo.com>
parents: 32214
diff changeset
313 name <user@example.com> */extdiff.*/a.8a5febb7f867/a a.34eed99112ab/a (glob) (no-windows !)
23138
72a89cf86fcd extdiff: quote user-supplied options passed to shell
Michael Fyles <mf@vorston.net>
parents: 22117
diff changeset
314 [1]
72a89cf86fcd extdiff: quote user-supplied options passed to shell
Michael Fyles <mf@vorston.net>
parents: 22117
diff changeset
315
72a89cf86fcd extdiff: quote user-supplied options passed to shell
Michael Fyles <mf@vorston.net>
parents: 22117
diff changeset
316 $ hg extdiff -p echo -o "name <user@example.com>" -c 1
32215
f41cc3dd73d6 test-extdiff: narrow the range of an '#if execbit' block
Matt Harbison <matt_harbison@yahoo.com>
parents: 32214
diff changeset
317 "name <user@example.com>" "*\\a.8a5febb7f867\\a" "a.34eed99112ab\\a" (glob) (windows !)
f41cc3dd73d6 test-extdiff: narrow the range of an '#if execbit' block
Matt Harbison <matt_harbison@yahoo.com>
parents: 32214
diff changeset
318 name <user@example.com> */extdiff.*/a.8a5febb7f867/a a.34eed99112ab/a (glob) (no-windows !)
23138
72a89cf86fcd extdiff: quote user-supplied options passed to shell
Michael Fyles <mf@vorston.net>
parents: 22117
diff changeset
319 [1]
72a89cf86fcd extdiff: quote user-supplied options passed to shell
Michael Fyles <mf@vorston.net>
parents: 22117
diff changeset
320
13660
a56c1b2bff18 Updating hgext.extdiff to use revsets
David Wolever <david@wolever.net>
parents: 12640
diff changeset
321 Test with revsets:
a56c1b2bff18 Updating hgext.extdiff to use revsets
David Wolever <david@wolever.net>
parents: 12640
diff changeset
322
a56c1b2bff18 Updating hgext.extdiff to use revsets
David Wolever <david@wolever.net>
parents: 12640
diff changeset
323 $ hg extdif -p echo -c "rev(1)"
32215
f41cc3dd73d6 test-extdiff: narrow the range of an '#if execbit' block
Matt Harbison <matt_harbison@yahoo.com>
parents: 32214
diff changeset
324 "*\\a.8a5febb7f867\\a" "a.34eed99112ab\\a" (glob) (windows !)
f41cc3dd73d6 test-extdiff: narrow the range of an '#if execbit' block
Matt Harbison <matt_harbison@yahoo.com>
parents: 32214
diff changeset
325 */extdiff.*/a.8a5febb7f867/a a.34eed99112ab/a (glob) (no-windows !)
12316
4134686b83e1 tests: add exit codes to unified tests
Matt Mackall <mpm@selenic.com>
parents: 12304
diff changeset
326 [1]
13660
a56c1b2bff18 Updating hgext.extdiff to use revsets
David Wolever <david@wolever.net>
parents: 12640
diff changeset
327
a56c1b2bff18 Updating hgext.extdiff to use revsets
David Wolever <david@wolever.net>
parents: 12640
diff changeset
328 $ hg extdif -p echo -r "0::1"
32215
f41cc3dd73d6 test-extdiff: narrow the range of an '#if execbit' block
Matt Harbison <matt_harbison@yahoo.com>
parents: 32214
diff changeset
329 "*\\a.8a5febb7f867\\a" "a.34eed99112ab\\a" (glob) (windows !)
f41cc3dd73d6 test-extdiff: narrow the range of an '#if execbit' block
Matt Harbison <matt_harbison@yahoo.com>
parents: 32214
diff changeset
330 */extdiff.*/a.8a5febb7f867/a a.34eed99112ab/a (glob) (no-windows !)
13660
a56c1b2bff18 Updating hgext.extdiff to use revsets
David Wolever <david@wolever.net>
parents: 12640
diff changeset
331 [1]
14024
92b768e9f80c merge with stable
Thomas Arendsen Hein <thomas@intevation.de>
parents: 13762 14021
diff changeset
332
23150
aff73c777b0b extdiff: allow a preconfigured merge-tool to be invoked
Matt Harbison <matt_harbison@yahoo.com>
parents: 22117
diff changeset
333 Fallback to merge-tools.tool.executable|regkey
aff73c777b0b extdiff: allow a preconfigured merge-tool to be invoked
Matt Harbison <matt_harbison@yahoo.com>
parents: 22117
diff changeset
334 $ mkdir dir
32217
affd753ddaf1 extdiff: copy back files to the working directory if the size changed
Matt Harbison <matt_harbison@yahoo.com>
parents: 32216
diff changeset
335 $ cat > 'dir/tool.sh' << 'EOF'
23150
aff73c777b0b extdiff: allow a preconfigured merge-tool to be invoked
Matt Harbison <matt_harbison@yahoo.com>
parents: 22117
diff changeset
336 > #!/bin/sh
32217
affd753ddaf1 extdiff: copy back files to the working directory if the size changed
Matt Harbison <matt_harbison@yahoo.com>
parents: 32216
diff changeset
337 > # Mimic a tool that syncs all attrs, including mtime
affd753ddaf1 extdiff: copy back files to the working directory if the size changed
Matt Harbison <matt_harbison@yahoo.com>
parents: 32216
diff changeset
338 > cp $1/a $2/a
affd753ddaf1 extdiff: copy back files to the working directory if the size changed
Matt Harbison <matt_harbison@yahoo.com>
parents: 32216
diff changeset
339 > touch -r $1/a $2/a
32283
8a1ff5ed620e extdiff: copy back execbit-only changes to the working directory
Matt Harbison <matt_harbison@yahoo.com>
parents: 32217
diff changeset
340 > chmod +x $2/a
23150
aff73c777b0b extdiff: allow a preconfigured merge-tool to be invoked
Matt Harbison <matt_harbison@yahoo.com>
parents: 22117
diff changeset
341 > echo "** custom diff **"
aff73c777b0b extdiff: allow a preconfigured merge-tool to be invoked
Matt Harbison <matt_harbison@yahoo.com>
parents: 22117
diff changeset
342 > EOF
32215
f41cc3dd73d6 test-extdiff: narrow the range of an '#if execbit' block
Matt Harbison <matt_harbison@yahoo.com>
parents: 32214
diff changeset
343 #if execbit
23150
aff73c777b0b extdiff: allow a preconfigured merge-tool to be invoked
Matt Harbison <matt_harbison@yahoo.com>
parents: 22117
diff changeset
344 $ chmod +x dir/tool.sh
32215
f41cc3dd73d6 test-extdiff: narrow the range of an '#if execbit' block
Matt Harbison <matt_harbison@yahoo.com>
parents: 32214
diff changeset
345 #endif
f41cc3dd73d6 test-extdiff: narrow the range of an '#if execbit' block
Matt Harbison <matt_harbison@yahoo.com>
parents: 32214
diff changeset
346
32216
98bb992bef19 test-extdiff: enable a previously failing test on Windows
Matt Harbison <matt_harbison@yahoo.com>
parents: 32215
diff changeset
347 Windows can't run *.sh directly, so create a shim executable that can be.
98bb992bef19 test-extdiff: enable a previously failing test on Windows
Matt Harbison <matt_harbison@yahoo.com>
parents: 32215
diff changeset
348 Without something executable, the next hg command will try to run `tl` instead
98bb992bef19 test-extdiff: enable a previously failing test on Windows
Matt Harbison <matt_harbison@yahoo.com>
parents: 32215
diff changeset
349 of $tool (and fail).
98bb992bef19 test-extdiff: enable a previously failing test on Windows
Matt Harbison <matt_harbison@yahoo.com>
parents: 32215
diff changeset
350 #if windows
98bb992bef19 test-extdiff: enable a previously failing test on Windows
Matt Harbison <matt_harbison@yahoo.com>
parents: 32215
diff changeset
351 $ cat > dir/tool.bat <<EOF
98bb992bef19 test-extdiff: enable a previously failing test on Windows
Matt Harbison <matt_harbison@yahoo.com>
parents: 32215
diff changeset
352 > @sh -c "`pwd`/dir/tool.sh %1 %2"
98bb992bef19 test-extdiff: enable a previously failing test on Windows
Matt Harbison <matt_harbison@yahoo.com>
parents: 32215
diff changeset
353 > EOF
98bb992bef19 test-extdiff: enable a previously failing test on Windows
Matt Harbison <matt_harbison@yahoo.com>
parents: 32215
diff changeset
354 $ tool=`pwd`/dir/tool.bat
98bb992bef19 test-extdiff: enable a previously failing test on Windows
Matt Harbison <matt_harbison@yahoo.com>
parents: 32215
diff changeset
355 #else
98bb992bef19 test-extdiff: enable a previously failing test on Windows
Matt Harbison <matt_harbison@yahoo.com>
parents: 32215
diff changeset
356 $ tool=`pwd`/dir/tool.sh
98bb992bef19 test-extdiff: enable a previously failing test on Windows
Matt Harbison <matt_harbison@yahoo.com>
parents: 32215
diff changeset
357 #endif
98bb992bef19 test-extdiff: enable a previously failing test on Windows
Matt Harbison <matt_harbison@yahoo.com>
parents: 32215
diff changeset
358
32217
affd753ddaf1 extdiff: copy back files to the working directory if the size changed
Matt Harbison <matt_harbison@yahoo.com>
parents: 32216
diff changeset
359 $ cat a
affd753ddaf1 extdiff: copy back files to the working directory if the size changed
Matt Harbison <matt_harbison@yahoo.com>
parents: 32216
diff changeset
360 changed
affd753ddaf1 extdiff: copy back files to the working directory if the size changed
Matt Harbison <matt_harbison@yahoo.com>
parents: 32216
diff changeset
361 edited
23150
aff73c777b0b extdiff: allow a preconfigured merge-tool to be invoked
Matt Harbison <matt_harbison@yahoo.com>
parents: 22117
diff changeset
362 $ hg --debug tl --config extdiff.tl= --config merge-tools.tl.executable=$tool
aff73c777b0b extdiff: allow a preconfigured merge-tool to be invoked
Matt Harbison <matt_harbison@yahoo.com>
parents: 22117
diff changeset
363 making snapshot of 2 files from rev * (glob)
aff73c777b0b extdiff: allow a preconfigured merge-tool to be invoked
Matt Harbison <matt_harbison@yahoo.com>
parents: 22117
diff changeset
364 a
aff73c777b0b extdiff: allow a preconfigured merge-tool to be invoked
Matt Harbison <matt_harbison@yahoo.com>
parents: 22117
diff changeset
365 b
aff73c777b0b extdiff: allow a preconfigured merge-tool to be invoked
Matt Harbison <matt_harbison@yahoo.com>
parents: 22117
diff changeset
366 making snapshot of 2 files from working directory
aff73c777b0b extdiff: allow a preconfigured merge-tool to be invoked
Matt Harbison <matt_harbison@yahoo.com>
parents: 22117
diff changeset
367 a
aff73c777b0b extdiff: allow a preconfigured merge-tool to be invoked
Matt Harbison <matt_harbison@yahoo.com>
parents: 22117
diff changeset
368 b
32216
98bb992bef19 test-extdiff: enable a previously failing test on Windows
Matt Harbison <matt_harbison@yahoo.com>
parents: 32215
diff changeset
369 running '$TESTTMP/a/dir/tool.bat a.* a' in */extdiff.* (glob) (windows !)
98bb992bef19 test-extdiff: enable a previously failing test on Windows
Matt Harbison <matt_harbison@yahoo.com>
parents: 32215
diff changeset
370 running '$TESTTMP/a/dir/tool.sh a.* a' in */extdiff.* (glob) (no-windows !)
23150
aff73c777b0b extdiff: allow a preconfigured merge-tool to be invoked
Matt Harbison <matt_harbison@yahoo.com>
parents: 22117
diff changeset
371 ** custom diff **
32217
affd753ddaf1 extdiff: copy back files to the working directory if the size changed
Matt Harbison <matt_harbison@yahoo.com>
parents: 32216
diff changeset
372 file changed while diffing. Overwriting: $TESTTMP/a/a (src: */extdiff.*/a/a) (glob)
23150
aff73c777b0b extdiff: allow a preconfigured merge-tool to be invoked
Matt Harbison <matt_harbison@yahoo.com>
parents: 22117
diff changeset
373 cleaning up temp directory
aff73c777b0b extdiff: allow a preconfigured merge-tool to be invoked
Matt Harbison <matt_harbison@yahoo.com>
parents: 22117
diff changeset
374 [1]
32217
affd753ddaf1 extdiff: copy back files to the working directory if the size changed
Matt Harbison <matt_harbison@yahoo.com>
parents: 32216
diff changeset
375 $ cat a
affd753ddaf1 extdiff: copy back files to the working directory if the size changed
Matt Harbison <matt_harbison@yahoo.com>
parents: 32216
diff changeset
376 a
23150
aff73c777b0b extdiff: allow a preconfigured merge-tool to be invoked
Matt Harbison <matt_harbison@yahoo.com>
parents: 22117
diff changeset
377
32283
8a1ff5ed620e extdiff: copy back execbit-only changes to the working directory
Matt Harbison <matt_harbison@yahoo.com>
parents: 32217
diff changeset
378 #if execbit
8a1ff5ed620e extdiff: copy back execbit-only changes to the working directory
Matt Harbison <matt_harbison@yahoo.com>
parents: 32217
diff changeset
379 $ [ -x a ]
8a1ff5ed620e extdiff: copy back execbit-only changes to the working directory
Matt Harbison <matt_harbison@yahoo.com>
parents: 32217
diff changeset
380
8a1ff5ed620e extdiff: copy back execbit-only changes to the working directory
Matt Harbison <matt_harbison@yahoo.com>
parents: 32217
diff changeset
381 $ cat > 'dir/tool.sh' << 'EOF'
8a1ff5ed620e extdiff: copy back execbit-only changes to the working directory
Matt Harbison <matt_harbison@yahoo.com>
parents: 32217
diff changeset
382 > #!/bin/sh
8a1ff5ed620e extdiff: copy back execbit-only changes to the working directory
Matt Harbison <matt_harbison@yahoo.com>
parents: 32217
diff changeset
383 > chmod -x $2/a
8a1ff5ed620e extdiff: copy back execbit-only changes to the working directory
Matt Harbison <matt_harbison@yahoo.com>
parents: 32217
diff changeset
384 > echo "** custom diff **"
8a1ff5ed620e extdiff: copy back execbit-only changes to the working directory
Matt Harbison <matt_harbison@yahoo.com>
parents: 32217
diff changeset
385 > EOF
8a1ff5ed620e extdiff: copy back execbit-only changes to the working directory
Matt Harbison <matt_harbison@yahoo.com>
parents: 32217
diff changeset
386
8a1ff5ed620e extdiff: copy back execbit-only changes to the working directory
Matt Harbison <matt_harbison@yahoo.com>
parents: 32217
diff changeset
387 $ hg --debug tl --config extdiff.tl= --config merge-tools.tl.executable=$tool
8a1ff5ed620e extdiff: copy back execbit-only changes to the working directory
Matt Harbison <matt_harbison@yahoo.com>
parents: 32217
diff changeset
388 making snapshot of 2 files from rev * (glob)
8a1ff5ed620e extdiff: copy back execbit-only changes to the working directory
Matt Harbison <matt_harbison@yahoo.com>
parents: 32217
diff changeset
389 a
8a1ff5ed620e extdiff: copy back execbit-only changes to the working directory
Matt Harbison <matt_harbison@yahoo.com>
parents: 32217
diff changeset
390 b
8a1ff5ed620e extdiff: copy back execbit-only changes to the working directory
Matt Harbison <matt_harbison@yahoo.com>
parents: 32217
diff changeset
391 making snapshot of 2 files from working directory
8a1ff5ed620e extdiff: copy back execbit-only changes to the working directory
Matt Harbison <matt_harbison@yahoo.com>
parents: 32217
diff changeset
392 a
8a1ff5ed620e extdiff: copy back execbit-only changes to the working directory
Matt Harbison <matt_harbison@yahoo.com>
parents: 32217
diff changeset
393 b
8a1ff5ed620e extdiff: copy back execbit-only changes to the working directory
Matt Harbison <matt_harbison@yahoo.com>
parents: 32217
diff changeset
394 running '$TESTTMP/a/dir/tool.sh a.* a' in */extdiff.* (glob)
8a1ff5ed620e extdiff: copy back execbit-only changes to the working directory
Matt Harbison <matt_harbison@yahoo.com>
parents: 32217
diff changeset
395 ** custom diff **
8a1ff5ed620e extdiff: copy back execbit-only changes to the working directory
Matt Harbison <matt_harbison@yahoo.com>
parents: 32217
diff changeset
396 file changed while diffing. Overwriting: $TESTTMP/a/a (src: */extdiff.*/a/a) (glob)
8a1ff5ed620e extdiff: copy back execbit-only changes to the working directory
Matt Harbison <matt_harbison@yahoo.com>
parents: 32217
diff changeset
397 cleaning up temp directory
8a1ff5ed620e extdiff: copy back execbit-only changes to the working directory
Matt Harbison <matt_harbison@yahoo.com>
parents: 32217
diff changeset
398 [1]
8a1ff5ed620e extdiff: copy back execbit-only changes to the working directory
Matt Harbison <matt_harbison@yahoo.com>
parents: 32217
diff changeset
399
8a1ff5ed620e extdiff: copy back execbit-only changes to the working directory
Matt Harbison <matt_harbison@yahoo.com>
parents: 32217
diff changeset
400 $ [ -x a ]
8a1ff5ed620e extdiff: copy back execbit-only changes to the working directory
Matt Harbison <matt_harbison@yahoo.com>
parents: 32217
diff changeset
401 [1]
8a1ff5ed620e extdiff: copy back execbit-only changes to the working directory
Matt Harbison <matt_harbison@yahoo.com>
parents: 32217
diff changeset
402 #endif
8a1ff5ed620e extdiff: copy back execbit-only changes to the working directory
Matt Harbison <matt_harbison@yahoo.com>
parents: 32217
diff changeset
403
14021
3eb632d9cf42 extdiff: fix broken symlinks handling (issue1909)
Patrick Mezard <pmezard@gmail.com>
parents: 12640
diff changeset
404 $ cd ..
12304
41dd368b6fe8 tests: unify test-extdiff
Adrian Buehlmann <adrian@cadifra.com>
parents: 10775
diff changeset
405
16899
8149ff405c78 tests: convert some 'hghave execbit' to #if
Mads Kiilerich <mads@kiilerich.com>
parents: 15442
diff changeset
406 #if symlink
8149ff405c78 tests: convert some 'hghave execbit' to #if
Mads Kiilerich <mads@kiilerich.com>
parents: 15442
diff changeset
407
14024
92b768e9f80c merge with stable
Thomas Arendsen Hein <thomas@intevation.de>
parents: 13762 14021
diff changeset
408 Test symlinks handling (issue1909)
92b768e9f80c merge with stable
Thomas Arendsen Hein <thomas@intevation.de>
parents: 13762 14021
diff changeset
409
14021
3eb632d9cf42 extdiff: fix broken symlinks handling (issue1909)
Patrick Mezard <pmezard@gmail.com>
parents: 12640
diff changeset
410 $ hg init testsymlinks
3eb632d9cf42 extdiff: fix broken symlinks handling (issue1909)
Patrick Mezard <pmezard@gmail.com>
parents: 12640
diff changeset
411 $ cd testsymlinks
3eb632d9cf42 extdiff: fix broken symlinks handling (issue1909)
Patrick Mezard <pmezard@gmail.com>
parents: 12640
diff changeset
412 $ echo a > a
3eb632d9cf42 extdiff: fix broken symlinks handling (issue1909)
Patrick Mezard <pmezard@gmail.com>
parents: 12640
diff changeset
413 $ hg ci -Am adda
3eb632d9cf42 extdiff: fix broken symlinks handling (issue1909)
Patrick Mezard <pmezard@gmail.com>
parents: 12640
diff changeset
414 adding a
3eb632d9cf42 extdiff: fix broken symlinks handling (issue1909)
Patrick Mezard <pmezard@gmail.com>
parents: 12640
diff changeset
415 $ echo a >> a
3eb632d9cf42 extdiff: fix broken symlinks handling (issue1909)
Patrick Mezard <pmezard@gmail.com>
parents: 12640
diff changeset
416 $ ln -s missing linka
3eb632d9cf42 extdiff: fix broken symlinks handling (issue1909)
Patrick Mezard <pmezard@gmail.com>
parents: 12640
diff changeset
417 $ hg add linka
3eb632d9cf42 extdiff: fix broken symlinks handling (issue1909)
Patrick Mezard <pmezard@gmail.com>
parents: 12640
diff changeset
418 $ hg falabala -r 0 --traceback
3eb632d9cf42 extdiff: fix broken symlinks handling (issue1909)
Patrick Mezard <pmezard@gmail.com>
parents: 12640
diff changeset
419 diffing testsymlinks.07f494440405 testsymlinks
3eb632d9cf42 extdiff: fix broken symlinks handling (issue1909)
Patrick Mezard <pmezard@gmail.com>
parents: 12640
diff changeset
420 [1]
3eb632d9cf42 extdiff: fix broken symlinks handling (issue1909)
Patrick Mezard <pmezard@gmail.com>
parents: 12640
diff changeset
421 $ cd ..
16899
8149ff405c78 tests: convert some 'hghave execbit' to #if
Mads Kiilerich <mads@kiilerich.com>
parents: 15442
diff changeset
422
8149ff405c78 tests: convert some 'hghave execbit' to #if
Mads Kiilerich <mads@kiilerich.com>
parents: 15442
diff changeset
423 #endif
29630
67b180c0e263 extdiff: escape path for docstring (issue5301)
Matt Mackall <mpm@selenic.com>
parents: 28053
diff changeset
424
67b180c0e263 extdiff: escape path for docstring (issue5301)
Matt Mackall <mpm@selenic.com>
parents: 28053
diff changeset
425 Test handling of non-ASCII paths in generated docstrings (issue5301)
67b180c0e263 extdiff: escape path for docstring (issue5301)
Matt Mackall <mpm@selenic.com>
parents: 28053
diff changeset
426
36268
be5a6fe3643a py3: make test-extdiff.t pass on Python 3
Yuya Nishihara <yuya@tcha.org>
parents: 36029
diff changeset
427 >>> with open("u", "wb") as f:
be5a6fe3643a py3: make test-extdiff.t pass on Python 3
Yuya Nishihara <yuya@tcha.org>
parents: 36029
diff changeset
428 ... n = f.write(b"\xa5\xa5")
29630
67b180c0e263 extdiff: escape path for docstring (issue5301)
Matt Mackall <mpm@selenic.com>
parents: 28053
diff changeset
429 $ U=`cat u`
67b180c0e263 extdiff: escape path for docstring (issue5301)
Matt Mackall <mpm@selenic.com>
parents: 28053
diff changeset
430
67b180c0e263 extdiff: escape path for docstring (issue5301)
Matt Mackall <mpm@selenic.com>
parents: 28053
diff changeset
431 $ HGPLAIN=1 hg --config hgext.extdiff= --config extdiff.cmd.td=hi help -k xyzzy
67b180c0e263 extdiff: escape path for docstring (issue5301)
Matt Mackall <mpm@selenic.com>
parents: 28053
diff changeset
432 abort: no matches
29974
7109d5ddeb0c help: use single quotes in use warning
timeless <timeless@mozdev.org>
parents: 29723
diff changeset
433 (try 'hg help' for a list of topics)
29630
67b180c0e263 extdiff: escape path for docstring (issue5301)
Matt Mackall <mpm@selenic.com>
parents: 28053
diff changeset
434 [255]
67b180c0e263 extdiff: escape path for docstring (issue5301)
Matt Mackall <mpm@selenic.com>
parents: 28053
diff changeset
435
67b180c0e263 extdiff: escape path for docstring (issue5301)
Matt Mackall <mpm@selenic.com>
parents: 28053
diff changeset
436 $ HGPLAIN=1 hg --config hgext.extdiff= --config extdiff.cmd.td=hi help td > /dev/null
67b180c0e263 extdiff: escape path for docstring (issue5301)
Matt Mackall <mpm@selenic.com>
parents: 28053
diff changeset
437
67b180c0e263 extdiff: escape path for docstring (issue5301)
Matt Mackall <mpm@selenic.com>
parents: 28053
diff changeset
438 $ LC_MESSAGES=ja_JP.UTF-8 hg --config hgext.extdiff= --config extdiff.cmd.td=$U help -k xyzzy
67b180c0e263 extdiff: escape path for docstring (issue5301)
Matt Mackall <mpm@selenic.com>
parents: 28053
diff changeset
439 abort: no matches
29974
7109d5ddeb0c help: use single quotes in use warning
timeless <timeless@mozdev.org>
parents: 29723
diff changeset
440 (try 'hg help' for a list of topics)
29630
67b180c0e263 extdiff: escape path for docstring (issue5301)
Matt Mackall <mpm@selenic.com>
parents: 28053
diff changeset
441 [255]
67b180c0e263 extdiff: escape path for docstring (issue5301)
Matt Mackall <mpm@selenic.com>
parents: 28053
diff changeset
442
29723
91b2f2176395 extdiff: isolate path variable of saved command to independent paragraph
Yuya Nishihara <yuya@tcha.org>
parents: 29630
diff changeset
443 $ LC_MESSAGES=ja_JP.UTF-8 hg --config hgext.extdiff= --config extdiff.cmd.td=$U help td \
91b2f2176395 extdiff: isolate path variable of saved command to independent paragraph
Yuya Nishihara <yuya@tcha.org>
parents: 29630
diff changeset
444 > | grep "^ '"
91b2f2176395 extdiff: isolate path variable of saved command to independent paragraph
Yuya Nishihara <yuya@tcha.org>
parents: 29630
diff changeset
445 '\xa5\xa5'