##// END OF EJS Templates
templatefuncs: show hint if extdata source is evaluated to empty (issue5843)
templatefuncs: show hint if extdata source is evaluated to empty (issue5843)

File last commit:

r37950:faa41fd2 default
r37950:faa41fd2 default
Show More
test-extdata.t
103 lines | 2.3 KiB | text/troff | Tads3Lexer
Yuya Nishihara
revset: add experimental support for extdata...
r34458 $ hg init repo
$ cd repo
Yuya Nishihara
extdata: ignore ambiguous identifier as well
r34460 $ for n in 0 1 2 3 4 5 6 7 8 9 10 11; do
Yuya Nishihara
revset: add experimental support for extdata...
r34458 > echo $n > $n
> hg ci -qAm $n
> done
test revset support
$ cat <<'EOF' >> .hg/hgrc
> [extdata]
> filedata = file:extdata.txt
Yuya Nishihara
templater: add experimental support for extdata...
r34459 > notes = notes.txt
Yuya Nishihara
revset: add experimental support for extdata...
r34458 > shelldata = shell:cat extdata.txt | grep 2
Yuya Nishihara
extdata: show debug message if external command exits with non-zero status...
r34543 > emptygrep = shell:cat extdata.txt | grep empty
Yuya Nishihara
revset: add experimental support for extdata...
r34458 > EOF
$ cat <<'EOF' > extdata.txt
Yuya Nishihara
templater: add experimental support for extdata...
r34459 > 2 another comment on 2
Yuya Nishihara
revset: add experimental support for extdata...
r34458 > 3
> EOF
Yuya Nishihara
templater: add experimental support for extdata...
r34459 $ cat <<'EOF' > notes.txt
> f6ed this change is great!
> e834 this is buggy :(
> 0625 first post
> bogusnode gives no error
Yuya Nishihara
extdata: ignore ambiguous identifier as well
r34460 > a ambiguous node gives no error
Yuya Nishihara
templater: add experimental support for extdata...
r34459 > EOF
Yuya Nishihara
revset: add experimental support for extdata...
r34458
$ hg log -qr "extdata(filedata)"
2:f6ed99a58333
3:9de260b1e88e
$ hg log -qr "extdata(shelldata)"
2:f6ed99a58333
test weight of extdata() revset
$ hg debugrevspec -p optimized "extdata(filedata) & 3"
* optimized:
(andsmally
(func
(symbol 'extdata')
(symbol 'filedata'))
(symbol '3'))
3
Yuya Nishihara
extdata: show debug message if external command exits with non-zero status...
r34543 test non-zero exit of shell command
$ hg log -qr "extdata(emptygrep)"
Yuya Nishihara
extdata: abort if external command exits with non-zero status (BC)...
r35413 abort: extdata command 'cat extdata.txt | grep empty' failed: exited with status 1
[255]
Yuya Nishihara
extdata: show debug message if external command exits with non-zero status...
r34543
Yuya Nishihara
revset: add experimental support for extdata...
r34458 test bad extdata() revset source
$ hg log -qr "extdata()"
hg: parse error: extdata takes at least 1 string argument
[255]
$ hg log -qr "extdata(unknown)"
abort: unknown extdata source 'unknown'
[255]
Yuya Nishihara
templater: add experimental support for extdata...
r34459 test template support:
$ hg log -r:3 -T "{node|short}{if(extdata('notes'), ' # {extdata('notes')}')}\n"
06254b906311 # first post
e8342c9a2ed1 # this is buggy :(
f6ed99a58333 # this change is great!
9de260b1e88e
test template cache:
$ hg log -r:3 -T '{rev} "{extdata("notes")}" "{extdata("shelldata")}"\n'
0 "first post" ""
1 "this is buggy :(" ""
2 "this change is great!" "another comment on 2"
3 "" ""
test bad extdata() template source
$ hg log -T "{extdata()}\n"
hg: parse error: extdata expects one argument
[255]
$ hg log -T "{extdata('unknown')}\n"
abort: unknown extdata source 'unknown'
[255]
Yuya Nishihara
templatefuncs: show hint if extdata source is evaluated to empty (issue5843)
r37950 $ hg log -T "{extdata(unknown)}\n"
hg: parse error: empty data source specified
(did you mean extdata('unknown')?)
[255]
$ hg log -T "{extdata('{unknown}')}\n"
hg: parse error: empty data source specified
[255]
Yuya Nishihara
templater: add experimental support for extdata...
r34459
Yuya Nishihara
revset: add experimental support for extdata...
r34458 we don't fix up relative file URLs, but we do run shell commands in repo root
$ mkdir sub
$ cd sub
$ hg log -qr "extdata(filedata)"
Matt Harbison
tests: add a substitution for ENOENT/ERROR_FILE_NOT_FOUND messages...
r35230 abort: error: $ENOENT$
Yuya Nishihara
revset: add experimental support for extdata...
r34458 [255]
$ hg log -qr "extdata(shelldata)"
2:f6ed99a58333
$ cd ..