##// END OF EJS Templates
help: adding a topic on flags...
help: adding a topic on flags This is a short topic to explain how command-line flags can be specified. Some users have been confused by hg offerring different flag syntax than some other libraries, so it'd be nice to point them to this rather than explaining it every time. Differential Revision: https://phab.mercurial-scm.org/D1270

File last commit:

r34540:f30e5970 default
r35036:b0262b25 default
Show More
test-paths.t
213 lines | 4.7 KiB | text/troff | Tads3Lexer
Nicolas Dumazet
tests: unify test-paths
r11785 $ hg init a
$ hg clone a b
updating to branch default
0 files updated, 0 files merged, 0 files removed, 0 files unresolved
$ cd a
Yuya Nishihara
paths: use single loop for both search=None|pattern cases...
r27726
with no paths:
$ hg paths
$ hg paths unknown
not found!
[1]
Yuya Nishihara
paths: port to generic templater...
r27728 $ hg paths -Tjson
[
]
Yuya Nishihara
paths: use single loop for both search=None|pattern cases...
r27726
with paths:
Nicolas Dumazet
tests: unify test-paths
r11785 $ echo '[paths]' >> .hg/hgrc
Yuya Nishihara
paths: include #fragment again...
r27320 $ echo 'dupe = ../b#tip' >> .hg/hgrc
Benoit Boissinot
ui.paths: expand paths directly in fixconfig (issue2373)...
r12662 $ echo 'expand = $SOMETHING/bar' >> .hg/hgrc
Nicolas Dumazet
tests: unify test-paths
r11785 $ hg in dupe
Mads Kiilerich
tests: make (glob) on windows accept \ instead of /...
r15447 comparing with $TESTTMP/b (glob)
Nicolas Dumazet
tests: unify test-paths
r11785 no changes found
Matt Mackall
tests: add exit codes to unified tests
r12316 [1]
Nicolas Dumazet
tests: unify test-paths
r11785 $ cd ..
$ hg -R a in dupe
Mads Kiilerich
tests: make (glob) on windows accept \ instead of /...
r15447 comparing with $TESTTMP/b (glob)
Nicolas Dumazet
tests: unify test-paths
r11785 no changes found
Matt Mackall
tests: add exit codes to unified tests
r12316 [1]
Benoit Boissinot
ui.paths: expand paths directly in fixconfig (issue2373)...
r12662 $ cd a
$ hg paths
Yuya Nishihara
paths: include #fragment again...
r27320 dupe = $TESTTMP/b#tip (glob)
Mads Kiilerich
tests: make (glob) on windows accept \ instead of /...
r15447 expand = $TESTTMP/a/$SOMETHING/bar (glob)
Benoit Boissinot
ui.paths: expand paths directly in fixconfig (issue2373)...
r12662 $ SOMETHING=foo hg paths
Yuya Nishihara
paths: include #fragment again...
r27320 dupe = $TESTTMP/b#tip (glob)
Mads Kiilerich
tests: make (glob) on windows accept \ instead of /...
r15447 expand = $TESTTMP/a/foo/bar (glob)
Adrian Buehlmann
test-paths.t: enable for Windows using #if...
r16843 #if msys
$ SOMETHING=//foo hg paths
Yuya Nishihara
paths: include #fragment again...
r27320 dupe = $TESTTMP/b#tip (glob)
Adrian Buehlmann
test-paths.t: enable for Windows using #if...
r16843 expand = /foo/bar
#else
Benoit Boissinot
ui.paths: expand paths directly in fixconfig (issue2373)...
r12662 $ SOMETHING=/foo hg paths
Yuya Nishihara
paths: include #fragment again...
r27320 dupe = $TESTTMP/b#tip (glob)
Benoit Boissinot
ui.paths: expand paths directly in fixconfig (issue2373)...
r12662 expand = /foo/bar
Adrian Buehlmann
test-paths.t: enable for Windows using #if...
r16843 #endif
Thomas Arendsen Hein
paths: Add support for -q/--quiet...
r14331 $ hg paths -q
dupe
expand
$ hg paths dupe
Yuya Nishihara
paths: include #fragment again...
r27320 $TESTTMP/b#tip (glob)
Thomas Arendsen Hein
paths: Add support for -q/--quiet...
r14331 $ hg paths -q dupe
$ hg paths unknown
not found!
[1]
$ hg paths -q unknown
[1]
Yuya Nishihara
paths: port to generic templater...
r27728
formatter output with paths:
$ echo 'dupe:pushurl = https://example.com/dupe' >> .hg/hgrc
Matt Harbison
test-paths: fix up json output to match $TESTTMP on Windows...
r28173 $ hg paths -Tjson | sed 's|\\\\|\\|g'
Yuya Nishihara
paths: port to generic templater...
r27728 [
{
"name": "dupe",
"pushurl": "https://example.com/dupe",
Matt Harbison
test-paths: fix up json output to match $TESTTMP on Windows...
r28173 "url": "$TESTTMP/b#tip" (glob)
Yuya Nishihara
paths: port to generic templater...
r27728 },
{
"name": "expand",
Matt Harbison
test-paths: fix up json output to match $TESTTMP on Windows...
r28173 "url": "$TESTTMP/a/$SOMETHING/bar" (glob)
Yuya Nishihara
paths: port to generic templater...
r27728 }
]
Matt Harbison
test-paths: fix up json output to match $TESTTMP on Windows...
r28173 $ hg paths -Tjson dupe | sed 's|\\\\|\\|g'
Yuya Nishihara
paths: port to generic templater...
r27728 [
{
"name": "dupe",
"pushurl": "https://example.com/dupe",
Matt Harbison
test-paths: fix up json output to match $TESTTMP on Windows...
r28173 "url": "$TESTTMP/b#tip" (glob)
Yuya Nishihara
paths: port to generic templater...
r27728 }
]
$ hg paths -Tjson -q unknown
[
]
[1]
Yuya Nishihara
templatekw: export ui.paths as {peerpaths}...
r33414 log template:
(behaves as a {name: path-string} dict by default)
Yuya Nishihara
templatekw: rename peerpaths to peerurls per naming convention (BC)...
r34540 $ hg log -rnull -T '{peerurls}\n'
Yuya Nishihara
templatekw: export ui.paths as {peerpaths}...
r33414 dupe=$TESTTMP/b#tip expand=$TESTTMP/a/$SOMETHING/bar (glob)
Yuya Nishihara
templatekw: rename peerpaths to peerurls per naming convention (BC)...
r34540 $ hg log -rnull -T '{join(peerurls, "\n")}\n'
Yuya Nishihara
templatekw: export ui.paths as {peerpaths}...
r33414 dupe=$TESTTMP/b#tip (glob)
expand=$TESTTMP/a/$SOMETHING/bar (glob)
Yuya Nishihara
templatekw: rename peerpaths to peerurls per naming convention (BC)...
r34540 $ hg log -rnull -T '{peerurls % "{name}: {url}\n"}'
Yuya Nishihara
templatekw: fix scope of peerpath url bound to generator...
r34538 dupe: $TESTTMP/b#tip (glob)
Yuya Nishihara
templatekw: export ui.paths as {peerpaths}...
r33414 expand: $TESTTMP/a/$SOMETHING/bar (glob)
Yuya Nishihara
templatekw: rename peerpaths to peerurls per naming convention (BC)...
r34540 $ hg log -rnull -T '{get(peerurls, "dupe")}\n'
Yuya Nishihara
templatekw: fix scope of peerpath url bound to generator...
r34538 $TESTTMP/b#tip (glob)
Yuya Nishihara
templatekw: export ui.paths as {peerpaths}...
r33414
Yuya Nishihara
templatekw: make experimental {peerpaths} return a single-level dict (BC)...
r34539 (sub options can be populated by map/dot operation)
Yuya Nishihara
templatekw: export ui.paths as {peerpaths}...
r33414
Yuya Nishihara
templatekw: make experimental {peerpaths} return a single-level dict (BC)...
r34539 $ hg log -rnull \
Yuya Nishihara
templatekw: rename peerpaths to peerurls per naming convention (BC)...
r34540 > -T '{get(peerurls, "dupe") % "url: {url}\npushurl: {pushurl}\n"}'
Yuya Nishihara
templatekw: export ui.paths as {peerpaths}...
r33414 url: $TESTTMP/b#tip (glob)
pushurl: https://example.com/dupe
Yuya Nishihara
templatekw: rename peerpaths to peerurls per naming convention (BC)...
r34540 $ hg log -rnull -T '{peerurls.dupe.pushurl}\n'
Yuya Nishihara
templatekw: export ui.paths as {peerpaths}...
r33414 https://example.com/dupe
Yuya Nishihara
templatekw: make experimental {peerpaths} return a single-level dict (BC)...
r34539 (in JSON, it's a dict of urls)
Yuya Nishihara
templatekw: export ui.paths as {peerpaths}...
r33414
Yuya Nishihara
templatekw: rename peerpaths to peerurls per naming convention (BC)...
r34540 $ hg log -rnull -T '{peerurls|json}\n' | sed 's|\\\\|/|g'
Yuya Nishihara
templatekw: make experimental {peerpaths} return a single-level dict (BC)...
r34539 {"dupe": "$TESTTMP/b#tip", "expand": "$TESTTMP/a/$SOMETHING/bar"}
Yuya Nishihara
templatekw: export ui.paths as {peerpaths}...
r33414
password should be masked in plain output, but not in machine-readable/template
output:
Yuya Nishihara
paths: port to generic templater...
r27728
$ echo 'insecure = http://foo:insecure@example.com/' >> .hg/hgrc
$ hg paths insecure
http://foo:***@example.com/
$ hg paths -Tjson insecure
[
{
"name": "insecure",
"url": "http://foo:insecure@example.com/"
}
]
Yuya Nishihara
templatekw: rename peerpaths to peerurls per naming convention (BC)...
r34540 $ hg log -rnull -T '{get(peerurls, "insecure")}\n'
Yuya Nishihara
templatekw: export ui.paths as {peerpaths}...
r33414 http://foo:insecure@example.com/
Yuya Nishihara
paths: port to generic templater...
r27728
Yuya Nishihara
zeroconf: forward all arguments passed to ui.configitems() wrapper...
r28038 zeroconf wraps ui.configitems(), which shouldn't crash at least:
$ hg paths --config extensions.zeroconf=
dupe = $TESTTMP/b#tip (glob)
dupe:pushurl = https://example.com/dupe
expand = $TESTTMP/a/$SOMETHING/bar (glob)
insecure = http://foo:***@example.com/
Adrian Buehlmann
test-paths.t: 'file:' disables [paths] entries for clone dest
r13797 $ cd ..
Gregory Szorc
ui: support declaring path push urls as sub-options...
r27266 sub-options for an undeclared path are ignored
$ hg init suboptions
$ cd suboptions
$ cat > .hg/hgrc << EOF
> [paths]
> path0 = https://example.com/path0
> path1:pushurl = https://example.com/path1
> EOF
$ hg paths
path0 = https://example.com/path0
unknown sub-options aren't displayed
$ cat > .hg/hgrc << EOF
> [paths]
> path0 = https://example.com/path0
> path0:foo = https://example.com/path1
> EOF
$ hg paths
path0 = https://example.com/path0
:pushurl must be a URL
$ cat > .hg/hgrc << EOF
> [paths]
> default = /path/to/nothing
> default:pushurl = /not/a/url
> EOF
$ hg paths
(paths.default:pushurl not a URL; ignoring)
default = /path/to/nothing
#fragment is not allowed in :pushurl
$ cat > .hg/hgrc << EOF
> [paths]
> default = https://example.com/repo
> invalid = https://example.com/repo
> invalid:pushurl = https://example.com/repo#branch
> EOF
$ hg paths
("#fragment" in paths.invalid:pushurl not supported; ignoring)
default = https://example.com/repo
invalid = https://example.com/repo
invalid:pushurl = https://example.com/repo
$ cd ..
Adrian Buehlmann
test-paths.t: 'file:' disables [paths] entries for clone dest
r13797 'file:' disables [paths] entries for clone destination
$ cat >> $HGRCPATH <<EOF
> [paths]
> gpath1 = http://hg.example.com
> EOF
$ hg clone a gpath1
abort: cannot create new http repository
[255]
$ hg clone a file:gpath1
updating to branch default
0 files updated, 0 files merged, 0 files removed, 0 files unresolved
$ cd gpath1
$ hg -q id
000000000000
Mads Kiilerich
tests: add missing trailing 'cd ..'...
r16913 $ cd ..