Mercurial > hg
annotate tests/test-extdata.t @ 41163:0101a35deae2
phabricator: warn if unable to amend, instead of aborting after posting
There was a divergence in behavior here between obsolete and strip based
amending. I first noticed the abort when testing outside of the test harness,
but then had trouble recreating it here after reverting the code changes. It
turns out, strip based amend was successfully amending the public commit after
it was posted! It looks like the protection is in the `commit --amend` command,
not in the underlying code that it calls.
I considered doing a preflight check and aborting. But the locks are only
acquired at the end, if amending, and this is too large a section of code to be
wrapped in a maybe-it's-held-or-not context manager for my tastes.
Additionally, some people do post-push reviews, and amending is the default
behavior, so they shouldn't see a misleading error message.
The lack of a 'Differential Revision' entry in the commit message breaks a
{phabreview} test, so it had to be partially conditionalized.
author | Matt Harbison <matt_harbison@yahoo.com> |
---|---|
date | Sat, 05 Jan 2019 15:20:33 -0500 |
parents | faa41fd282d1 |
children | eec65b706caf |
rev | line source |
---|---|
34457
2c3b8fa3211b
revset: add experimental support for extdata
Yuya Nishihara <yuya@tcha.org>
parents:
diff
changeset
|
1 $ hg init repo |
2c3b8fa3211b
revset: add experimental support for extdata
Yuya Nishihara <yuya@tcha.org>
parents:
diff
changeset
|
2 $ cd repo |
34459
d5c5cc767b7e
extdata: ignore ambiguous identifier as well
Yuya Nishihara <yuya@tcha.org>
parents:
34458
diff
changeset
|
3 $ for n in 0 1 2 3 4 5 6 7 8 9 10 11; do |
34457
2c3b8fa3211b
revset: add experimental support for extdata
Yuya Nishihara <yuya@tcha.org>
parents:
diff
changeset
|
4 > echo $n > $n |
2c3b8fa3211b
revset: add experimental support for extdata
Yuya Nishihara <yuya@tcha.org>
parents:
diff
changeset
|
5 > hg ci -qAm $n |
2c3b8fa3211b
revset: add experimental support for extdata
Yuya Nishihara <yuya@tcha.org>
parents:
diff
changeset
|
6 > done |
2c3b8fa3211b
revset: add experimental support for extdata
Yuya Nishihara <yuya@tcha.org>
parents:
diff
changeset
|
7 |
2c3b8fa3211b
revset: add experimental support for extdata
Yuya Nishihara <yuya@tcha.org>
parents:
diff
changeset
|
8 test revset support |
2c3b8fa3211b
revset: add experimental support for extdata
Yuya Nishihara <yuya@tcha.org>
parents:
diff
changeset
|
9 |
2c3b8fa3211b
revset: add experimental support for extdata
Yuya Nishihara <yuya@tcha.org>
parents:
diff
changeset
|
10 $ cat <<'EOF' >> .hg/hgrc |
2c3b8fa3211b
revset: add experimental support for extdata
Yuya Nishihara <yuya@tcha.org>
parents:
diff
changeset
|
11 > [extdata] |
2c3b8fa3211b
revset: add experimental support for extdata
Yuya Nishihara <yuya@tcha.org>
parents:
diff
changeset
|
12 > filedata = file:extdata.txt |
34458
a1b89c8ad32d
templater: add experimental support for extdata
Yuya Nishihara <yuya@tcha.org>
parents:
34457
diff
changeset
|
13 > notes = notes.txt |
34457
2c3b8fa3211b
revset: add experimental support for extdata
Yuya Nishihara <yuya@tcha.org>
parents:
diff
changeset
|
14 > shelldata = shell:cat extdata.txt | grep 2 |
34542
153e4e05e9b3
extdata: show debug message if external command exits with non-zero status
Yuya Nishihara <yuya@tcha.org>
parents:
34459
diff
changeset
|
15 > emptygrep = shell:cat extdata.txt | grep empty |
34457
2c3b8fa3211b
revset: add experimental support for extdata
Yuya Nishihara <yuya@tcha.org>
parents:
diff
changeset
|
16 > EOF |
2c3b8fa3211b
revset: add experimental support for extdata
Yuya Nishihara <yuya@tcha.org>
parents:
diff
changeset
|
17 $ cat <<'EOF' > extdata.txt |
34458
a1b89c8ad32d
templater: add experimental support for extdata
Yuya Nishihara <yuya@tcha.org>
parents:
34457
diff
changeset
|
18 > 2 another comment on 2 |
34457
2c3b8fa3211b
revset: add experimental support for extdata
Yuya Nishihara <yuya@tcha.org>
parents:
diff
changeset
|
19 > 3 |
2c3b8fa3211b
revset: add experimental support for extdata
Yuya Nishihara <yuya@tcha.org>
parents:
diff
changeset
|
20 > EOF |
34458
a1b89c8ad32d
templater: add experimental support for extdata
Yuya Nishihara <yuya@tcha.org>
parents:
34457
diff
changeset
|
21 $ cat <<'EOF' > notes.txt |
a1b89c8ad32d
templater: add experimental support for extdata
Yuya Nishihara <yuya@tcha.org>
parents:
34457
diff
changeset
|
22 > f6ed this change is great! |
a1b89c8ad32d
templater: add experimental support for extdata
Yuya Nishihara <yuya@tcha.org>
parents:
34457
diff
changeset
|
23 > e834 this is buggy :( |
a1b89c8ad32d
templater: add experimental support for extdata
Yuya Nishihara <yuya@tcha.org>
parents:
34457
diff
changeset
|
24 > 0625 first post |
a1b89c8ad32d
templater: add experimental support for extdata
Yuya Nishihara <yuya@tcha.org>
parents:
34457
diff
changeset
|
25 > bogusnode gives no error |
34459
d5c5cc767b7e
extdata: ignore ambiguous identifier as well
Yuya Nishihara <yuya@tcha.org>
parents:
34458
diff
changeset
|
26 > a ambiguous node gives no error |
34458
a1b89c8ad32d
templater: add experimental support for extdata
Yuya Nishihara <yuya@tcha.org>
parents:
34457
diff
changeset
|
27 > EOF |
34457
2c3b8fa3211b
revset: add experimental support for extdata
Yuya Nishihara <yuya@tcha.org>
parents:
diff
changeset
|
28 |
2c3b8fa3211b
revset: add experimental support for extdata
Yuya Nishihara <yuya@tcha.org>
parents:
diff
changeset
|
29 $ hg log -qr "extdata(filedata)" |
2c3b8fa3211b
revset: add experimental support for extdata
Yuya Nishihara <yuya@tcha.org>
parents:
diff
changeset
|
30 2:f6ed99a58333 |
2c3b8fa3211b
revset: add experimental support for extdata
Yuya Nishihara <yuya@tcha.org>
parents:
diff
changeset
|
31 3:9de260b1e88e |
2c3b8fa3211b
revset: add experimental support for extdata
Yuya Nishihara <yuya@tcha.org>
parents:
diff
changeset
|
32 $ hg log -qr "extdata(shelldata)" |
2c3b8fa3211b
revset: add experimental support for extdata
Yuya Nishihara <yuya@tcha.org>
parents:
diff
changeset
|
33 2:f6ed99a58333 |
2c3b8fa3211b
revset: add experimental support for extdata
Yuya Nishihara <yuya@tcha.org>
parents:
diff
changeset
|
34 |
2c3b8fa3211b
revset: add experimental support for extdata
Yuya Nishihara <yuya@tcha.org>
parents:
diff
changeset
|
35 test weight of extdata() revset |
2c3b8fa3211b
revset: add experimental support for extdata
Yuya Nishihara <yuya@tcha.org>
parents:
diff
changeset
|
36 |
2c3b8fa3211b
revset: add experimental support for extdata
Yuya Nishihara <yuya@tcha.org>
parents:
diff
changeset
|
37 $ hg debugrevspec -p optimized "extdata(filedata) & 3" |
2c3b8fa3211b
revset: add experimental support for extdata
Yuya Nishihara <yuya@tcha.org>
parents:
diff
changeset
|
38 * optimized: |
2c3b8fa3211b
revset: add experimental support for extdata
Yuya Nishihara <yuya@tcha.org>
parents:
diff
changeset
|
39 (andsmally |
2c3b8fa3211b
revset: add experimental support for extdata
Yuya Nishihara <yuya@tcha.org>
parents:
diff
changeset
|
40 (func |
2c3b8fa3211b
revset: add experimental support for extdata
Yuya Nishihara <yuya@tcha.org>
parents:
diff
changeset
|
41 (symbol 'extdata') |
2c3b8fa3211b
revset: add experimental support for extdata
Yuya Nishihara <yuya@tcha.org>
parents:
diff
changeset
|
42 (symbol 'filedata')) |
2c3b8fa3211b
revset: add experimental support for extdata
Yuya Nishihara <yuya@tcha.org>
parents:
diff
changeset
|
43 (symbol '3')) |
2c3b8fa3211b
revset: add experimental support for extdata
Yuya Nishihara <yuya@tcha.org>
parents:
diff
changeset
|
44 3 |
2c3b8fa3211b
revset: add experimental support for extdata
Yuya Nishihara <yuya@tcha.org>
parents:
diff
changeset
|
45 |
34542
153e4e05e9b3
extdata: show debug message if external command exits with non-zero status
Yuya Nishihara <yuya@tcha.org>
parents:
34459
diff
changeset
|
46 test non-zero exit of shell command |
153e4e05e9b3
extdata: show debug message if external command exits with non-zero status
Yuya Nishihara <yuya@tcha.org>
parents:
34459
diff
changeset
|
47 |
153e4e05e9b3
extdata: show debug message if external command exits with non-zero status
Yuya Nishihara <yuya@tcha.org>
parents:
34459
diff
changeset
|
48 $ hg log -qr "extdata(emptygrep)" |
35412
b1959391a088
extdata: abort if external command exits with non-zero status (BC)
Yuya Nishihara <yuya@tcha.org>
parents:
35230
diff
changeset
|
49 abort: extdata command 'cat extdata.txt | grep empty' failed: exited with status 1 |
b1959391a088
extdata: abort if external command exits with non-zero status (BC)
Yuya Nishihara <yuya@tcha.org>
parents:
35230
diff
changeset
|
50 [255] |
34542
153e4e05e9b3
extdata: show debug message if external command exits with non-zero status
Yuya Nishihara <yuya@tcha.org>
parents:
34459
diff
changeset
|
51 |
34457
2c3b8fa3211b
revset: add experimental support for extdata
Yuya Nishihara <yuya@tcha.org>
parents:
diff
changeset
|
52 test bad extdata() revset source |
2c3b8fa3211b
revset: add experimental support for extdata
Yuya Nishihara <yuya@tcha.org>
parents:
diff
changeset
|
53 |
2c3b8fa3211b
revset: add experimental support for extdata
Yuya Nishihara <yuya@tcha.org>
parents:
diff
changeset
|
54 $ hg log -qr "extdata()" |
2c3b8fa3211b
revset: add experimental support for extdata
Yuya Nishihara <yuya@tcha.org>
parents:
diff
changeset
|
55 hg: parse error: extdata takes at least 1 string argument |
2c3b8fa3211b
revset: add experimental support for extdata
Yuya Nishihara <yuya@tcha.org>
parents:
diff
changeset
|
56 [255] |
2c3b8fa3211b
revset: add experimental support for extdata
Yuya Nishihara <yuya@tcha.org>
parents:
diff
changeset
|
57 $ hg log -qr "extdata(unknown)" |
2c3b8fa3211b
revset: add experimental support for extdata
Yuya Nishihara <yuya@tcha.org>
parents:
diff
changeset
|
58 abort: unknown extdata source 'unknown' |
2c3b8fa3211b
revset: add experimental support for extdata
Yuya Nishihara <yuya@tcha.org>
parents:
diff
changeset
|
59 [255] |
2c3b8fa3211b
revset: add experimental support for extdata
Yuya Nishihara <yuya@tcha.org>
parents:
diff
changeset
|
60 |
34458
a1b89c8ad32d
templater: add experimental support for extdata
Yuya Nishihara <yuya@tcha.org>
parents:
34457
diff
changeset
|
61 test template support: |
a1b89c8ad32d
templater: add experimental support for extdata
Yuya Nishihara <yuya@tcha.org>
parents:
34457
diff
changeset
|
62 |
a1b89c8ad32d
templater: add experimental support for extdata
Yuya Nishihara <yuya@tcha.org>
parents:
34457
diff
changeset
|
63 $ hg log -r:3 -T "{node|short}{if(extdata('notes'), ' # {extdata('notes')}')}\n" |
a1b89c8ad32d
templater: add experimental support for extdata
Yuya Nishihara <yuya@tcha.org>
parents:
34457
diff
changeset
|
64 06254b906311 # first post |
a1b89c8ad32d
templater: add experimental support for extdata
Yuya Nishihara <yuya@tcha.org>
parents:
34457
diff
changeset
|
65 e8342c9a2ed1 # this is buggy :( |
a1b89c8ad32d
templater: add experimental support for extdata
Yuya Nishihara <yuya@tcha.org>
parents:
34457
diff
changeset
|
66 f6ed99a58333 # this change is great! |
a1b89c8ad32d
templater: add experimental support for extdata
Yuya Nishihara <yuya@tcha.org>
parents:
34457
diff
changeset
|
67 9de260b1e88e |
a1b89c8ad32d
templater: add experimental support for extdata
Yuya Nishihara <yuya@tcha.org>
parents:
34457
diff
changeset
|
68 |
a1b89c8ad32d
templater: add experimental support for extdata
Yuya Nishihara <yuya@tcha.org>
parents:
34457
diff
changeset
|
69 test template cache: |
a1b89c8ad32d
templater: add experimental support for extdata
Yuya Nishihara <yuya@tcha.org>
parents:
34457
diff
changeset
|
70 |
a1b89c8ad32d
templater: add experimental support for extdata
Yuya Nishihara <yuya@tcha.org>
parents:
34457
diff
changeset
|
71 $ hg log -r:3 -T '{rev} "{extdata("notes")}" "{extdata("shelldata")}"\n' |
a1b89c8ad32d
templater: add experimental support for extdata
Yuya Nishihara <yuya@tcha.org>
parents:
34457
diff
changeset
|
72 0 "first post" "" |
a1b89c8ad32d
templater: add experimental support for extdata
Yuya Nishihara <yuya@tcha.org>
parents:
34457
diff
changeset
|
73 1 "this is buggy :(" "" |
a1b89c8ad32d
templater: add experimental support for extdata
Yuya Nishihara <yuya@tcha.org>
parents:
34457
diff
changeset
|
74 2 "this change is great!" "another comment on 2" |
a1b89c8ad32d
templater: add experimental support for extdata
Yuya Nishihara <yuya@tcha.org>
parents:
34457
diff
changeset
|
75 3 "" "" |
a1b89c8ad32d
templater: add experimental support for extdata
Yuya Nishihara <yuya@tcha.org>
parents:
34457
diff
changeset
|
76 |
a1b89c8ad32d
templater: add experimental support for extdata
Yuya Nishihara <yuya@tcha.org>
parents:
34457
diff
changeset
|
77 test bad extdata() template source |
a1b89c8ad32d
templater: add experimental support for extdata
Yuya Nishihara <yuya@tcha.org>
parents:
34457
diff
changeset
|
78 |
a1b89c8ad32d
templater: add experimental support for extdata
Yuya Nishihara <yuya@tcha.org>
parents:
34457
diff
changeset
|
79 $ hg log -T "{extdata()}\n" |
a1b89c8ad32d
templater: add experimental support for extdata
Yuya Nishihara <yuya@tcha.org>
parents:
34457
diff
changeset
|
80 hg: parse error: extdata expects one argument |
a1b89c8ad32d
templater: add experimental support for extdata
Yuya Nishihara <yuya@tcha.org>
parents:
34457
diff
changeset
|
81 [255] |
a1b89c8ad32d
templater: add experimental support for extdata
Yuya Nishihara <yuya@tcha.org>
parents:
34457
diff
changeset
|
82 $ hg log -T "{extdata('unknown')}\n" |
a1b89c8ad32d
templater: add experimental support for extdata
Yuya Nishihara <yuya@tcha.org>
parents:
34457
diff
changeset
|
83 abort: unknown extdata source 'unknown' |
a1b89c8ad32d
templater: add experimental support for extdata
Yuya Nishihara <yuya@tcha.org>
parents:
34457
diff
changeset
|
84 [255] |
37931
faa41fd282d1
templatefuncs: show hint if extdata source is evaluated to empty (issue5843)
Yuya Nishihara <yuya@tcha.org>
parents:
35412
diff
changeset
|
85 $ hg log -T "{extdata(unknown)}\n" |
faa41fd282d1
templatefuncs: show hint if extdata source is evaluated to empty (issue5843)
Yuya Nishihara <yuya@tcha.org>
parents:
35412
diff
changeset
|
86 hg: parse error: empty data source specified |
faa41fd282d1
templatefuncs: show hint if extdata source is evaluated to empty (issue5843)
Yuya Nishihara <yuya@tcha.org>
parents:
35412
diff
changeset
|
87 (did you mean extdata('unknown')?) |
faa41fd282d1
templatefuncs: show hint if extdata source is evaluated to empty (issue5843)
Yuya Nishihara <yuya@tcha.org>
parents:
35412
diff
changeset
|
88 [255] |
faa41fd282d1
templatefuncs: show hint if extdata source is evaluated to empty (issue5843)
Yuya Nishihara <yuya@tcha.org>
parents:
35412
diff
changeset
|
89 $ hg log -T "{extdata('{unknown}')}\n" |
faa41fd282d1
templatefuncs: show hint if extdata source is evaluated to empty (issue5843)
Yuya Nishihara <yuya@tcha.org>
parents:
35412
diff
changeset
|
90 hg: parse error: empty data source specified |
faa41fd282d1
templatefuncs: show hint if extdata source is evaluated to empty (issue5843)
Yuya Nishihara <yuya@tcha.org>
parents:
35412
diff
changeset
|
91 [255] |
34458
a1b89c8ad32d
templater: add experimental support for extdata
Yuya Nishihara <yuya@tcha.org>
parents:
34457
diff
changeset
|
92 |
34457
2c3b8fa3211b
revset: add experimental support for extdata
Yuya Nishihara <yuya@tcha.org>
parents:
diff
changeset
|
93 we don't fix up relative file URLs, but we do run shell commands in repo root |
2c3b8fa3211b
revset: add experimental support for extdata
Yuya Nishihara <yuya@tcha.org>
parents:
diff
changeset
|
94 |
2c3b8fa3211b
revset: add experimental support for extdata
Yuya Nishihara <yuya@tcha.org>
parents:
diff
changeset
|
95 $ mkdir sub |
2c3b8fa3211b
revset: add experimental support for extdata
Yuya Nishihara <yuya@tcha.org>
parents:
diff
changeset
|
96 $ cd sub |
2c3b8fa3211b
revset: add experimental support for extdata
Yuya Nishihara <yuya@tcha.org>
parents:
diff
changeset
|
97 $ hg log -qr "extdata(filedata)" |
35230
feecfefeba25
tests: add a substitution for ENOENT/ERROR_FILE_NOT_FOUND messages
Matt Harbison <matt_harbison@yahoo.com>
parents:
34690
diff
changeset
|
98 abort: error: $ENOENT$ |
34457
2c3b8fa3211b
revset: add experimental support for extdata
Yuya Nishihara <yuya@tcha.org>
parents:
diff
changeset
|
99 [255] |
2c3b8fa3211b
revset: add experimental support for extdata
Yuya Nishihara <yuya@tcha.org>
parents:
diff
changeset
|
100 $ hg log -qr "extdata(shelldata)" |
2c3b8fa3211b
revset: add experimental support for extdata
Yuya Nishihara <yuya@tcha.org>
parents:
diff
changeset
|
101 2:f6ed99a58333 |
2c3b8fa3211b
revset: add experimental support for extdata
Yuya Nishihara <yuya@tcha.org>
parents:
diff
changeset
|
102 |
2c3b8fa3211b
revset: add experimental support for extdata
Yuya Nishihara <yuya@tcha.org>
parents:
diff
changeset
|
103 $ cd .. |