tests/test-paths.t
author Arseniy Alekseyev <aalekseyev@janestreet.com>
Fri, 26 Apr 2024 19:10:35 +0100
changeset 51626 865efc020c33
parent 49834 6a3549a01c02
permissions -rw-r--r--
dirstate: remove the python-side whitelist of allowed matchers This whitelist is too permissive because it allows matchers that contain disallowed ones deep inside, for example through `intersectionmatcher`. It is also too restrictive because it doesn't pass through some of the matchers we support, such as `patternmatcher`. It's also unnecessary because unsupported matchers raise `FallbackError` and we fall back anyway. Making this change makes more of the tests use rust code path, and therefore subtly change behavior. For example, rust status in largefiles repos seems to have strange behavior.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
11785
7d9be960cd9a tests: unify test-paths
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 5951
diff changeset
     1
  $ hg init a
7d9be960cd9a tests: unify test-paths
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 5951
diff changeset
     2
  $ hg clone a b
7d9be960cd9a tests: unify test-paths
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 5951
diff changeset
     3
  updating to branch default
7d9be960cd9a tests: unify test-paths
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 5951
diff changeset
     4
  0 files updated, 0 files merged, 0 files removed, 0 files unresolved
7d9be960cd9a tests: unify test-paths
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 5951
diff changeset
     5
  $ cd a
27726
7e9dc8bbebf6 paths: use single loop for both search=None|pattern cases
Yuya Nishihara <yuya@tcha.org>
parents: 27329
diff changeset
     6
7e9dc8bbebf6 paths: use single loop for both search=None|pattern cases
Yuya Nishihara <yuya@tcha.org>
parents: 27329
diff changeset
     7
with no paths:
7e9dc8bbebf6 paths: use single loop for both search=None|pattern cases
Yuya Nishihara <yuya@tcha.org>
parents: 27329
diff changeset
     8
7e9dc8bbebf6 paths: use single loop for both search=None|pattern cases
Yuya Nishihara <yuya@tcha.org>
parents: 27329
diff changeset
     9
  $ hg paths
7e9dc8bbebf6 paths: use single loop for both search=None|pattern cases
Yuya Nishihara <yuya@tcha.org>
parents: 27329
diff changeset
    10
  $ hg paths unknown
7e9dc8bbebf6 paths: use single loop for both search=None|pattern cases
Yuya Nishihara <yuya@tcha.org>
parents: 27329
diff changeset
    11
  not found!
7e9dc8bbebf6 paths: use single loop for both search=None|pattern cases
Yuya Nishihara <yuya@tcha.org>
parents: 27329
diff changeset
    12
  [1]
27728
294037159c64 paths: port to generic templater
Yuya Nishihara <yuya@tcha.org>
parents: 27726
diff changeset
    13
  $ hg paths -Tjson
294037159c64 paths: port to generic templater
Yuya Nishihara <yuya@tcha.org>
parents: 27726
diff changeset
    14
  [
294037159c64 paths: port to generic templater
Yuya Nishihara <yuya@tcha.org>
parents: 27726
diff changeset
    15
  ]
27726
7e9dc8bbebf6 paths: use single loop for both search=None|pattern cases
Yuya Nishihara <yuya@tcha.org>
parents: 27329
diff changeset
    16
7e9dc8bbebf6 paths: use single loop for both search=None|pattern cases
Yuya Nishihara <yuya@tcha.org>
parents: 27329
diff changeset
    17
with paths:
7e9dc8bbebf6 paths: use single loop for both search=None|pattern cases
Yuya Nishihara <yuya@tcha.org>
parents: 27329
diff changeset
    18
11785
7d9be960cd9a tests: unify test-paths
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 5951
diff changeset
    19
  $ echo '[paths]' >> .hg/hgrc
27320
59d5f619e69e paths: include #fragment again
Yuya Nishihara <yuya@tcha.org>
parents: 16913
diff changeset
    20
  $ echo 'dupe = ../b#tip' >> .hg/hgrc
12662
7285b2824fb7 ui.paths: expand paths directly in fixconfig (issue2373)
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents: 12640
diff changeset
    21
  $ echo 'expand = $SOMETHING/bar' >> .hg/hgrc
11785
7d9be960cd9a tests: unify test-paths
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 5951
diff changeset
    22
  $ hg in dupe
35393
4441705b7111 tests: remove (glob) annotations that were only for '\' matches
Matt Harbison <matt_harbison@yahoo.com>
parents: 34539
diff changeset
    23
  comparing with $TESTTMP/b
11785
7d9be960cd9a tests: unify test-paths
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 5951
diff changeset
    24
  no changes found
12316
4134686b83e1 tests: add exit codes to unified tests
Matt Mackall <mpm@selenic.com>
parents: 11785
diff changeset
    25
  [1]
11785
7d9be960cd9a tests: unify test-paths
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 5951
diff changeset
    26
  $ cd ..
7d9be960cd9a tests: unify test-paths
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 5951
diff changeset
    27
  $ hg -R a in dupe
35393
4441705b7111 tests: remove (glob) annotations that were only for '\' matches
Matt Harbison <matt_harbison@yahoo.com>
parents: 34539
diff changeset
    28
  comparing with $TESTTMP/b
11785
7d9be960cd9a tests: unify test-paths
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 5951
diff changeset
    29
  no changes found
12316
4134686b83e1 tests: add exit codes to unified tests
Matt Mackall <mpm@selenic.com>
parents: 11785
diff changeset
    30
  [1]
12662
7285b2824fb7 ui.paths: expand paths directly in fixconfig (issue2373)
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents: 12640
diff changeset
    31
  $ cd a
7285b2824fb7 ui.paths: expand paths directly in fixconfig (issue2373)
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents: 12640
diff changeset
    32
  $ hg paths
35393
4441705b7111 tests: remove (glob) annotations that were only for '\' matches
Matt Harbison <matt_harbison@yahoo.com>
parents: 34539
diff changeset
    33
  dupe = $TESTTMP/b#tip
4441705b7111 tests: remove (glob) annotations that were only for '\' matches
Matt Harbison <matt_harbison@yahoo.com>
parents: 34539
diff changeset
    34
  expand = $TESTTMP/a/$SOMETHING/bar
12662
7285b2824fb7 ui.paths: expand paths directly in fixconfig (issue2373)
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents: 12640
diff changeset
    35
  $ SOMETHING=foo hg paths
35393
4441705b7111 tests: remove (glob) annotations that were only for '\' matches
Matt Harbison <matt_harbison@yahoo.com>
parents: 34539
diff changeset
    36
  dupe = $TESTTMP/b#tip
4441705b7111 tests: remove (glob) annotations that were only for '\' matches
Matt Harbison <matt_harbison@yahoo.com>
parents: 34539
diff changeset
    37
  expand = $TESTTMP/a/foo/bar
16843
61f3ca8e4d39 test-paths.t: enable for Windows using #if
Adrian Buehlmann <adrian@cadifra.com>
parents: 15567
diff changeset
    38
#if msys
61f3ca8e4d39 test-paths.t: enable for Windows using #if
Adrian Buehlmann <adrian@cadifra.com>
parents: 15567
diff changeset
    39
  $ SOMETHING=//foo hg paths
35393
4441705b7111 tests: remove (glob) annotations that were only for '\' matches
Matt Harbison <matt_harbison@yahoo.com>
parents: 34539
diff changeset
    40
  dupe = $TESTTMP/b#tip
16843
61f3ca8e4d39 test-paths.t: enable for Windows using #if
Adrian Buehlmann <adrian@cadifra.com>
parents: 15567
diff changeset
    41
  expand = /foo/bar
61f3ca8e4d39 test-paths.t: enable for Windows using #if
Adrian Buehlmann <adrian@cadifra.com>
parents: 15567
diff changeset
    42
#else
12662
7285b2824fb7 ui.paths: expand paths directly in fixconfig (issue2373)
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents: 12640
diff changeset
    43
  $ SOMETHING=/foo hg paths
35393
4441705b7111 tests: remove (glob) annotations that were only for '\' matches
Matt Harbison <matt_harbison@yahoo.com>
parents: 34539
diff changeset
    44
  dupe = $TESTTMP/b#tip
12662
7285b2824fb7 ui.paths: expand paths directly in fixconfig (issue2373)
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents: 12640
diff changeset
    45
  expand = /foo/bar
16843
61f3ca8e4d39 test-paths.t: enable for Windows using #if
Adrian Buehlmann <adrian@cadifra.com>
parents: 15567
diff changeset
    46
#endif
14331
3b9a896af09c paths: Add support for -q/--quiet
Thomas Arendsen Hein <thomas@intevation.de>
parents: 13797
diff changeset
    47
  $ hg paths -q
3b9a896af09c paths: Add support for -q/--quiet
Thomas Arendsen Hein <thomas@intevation.de>
parents: 13797
diff changeset
    48
  dupe
3b9a896af09c paths: Add support for -q/--quiet
Thomas Arendsen Hein <thomas@intevation.de>
parents: 13797
diff changeset
    49
  expand
3b9a896af09c paths: Add support for -q/--quiet
Thomas Arendsen Hein <thomas@intevation.de>
parents: 13797
diff changeset
    50
  $ hg paths dupe
35393
4441705b7111 tests: remove (glob) annotations that were only for '\' matches
Matt Harbison <matt_harbison@yahoo.com>
parents: 34539
diff changeset
    51
  $TESTTMP/b#tip
14331
3b9a896af09c paths: Add support for -q/--quiet
Thomas Arendsen Hein <thomas@intevation.de>
parents: 13797
diff changeset
    52
  $ hg paths -q dupe
3b9a896af09c paths: Add support for -q/--quiet
Thomas Arendsen Hein <thomas@intevation.de>
parents: 13797
diff changeset
    53
  $ hg paths unknown
3b9a896af09c paths: Add support for -q/--quiet
Thomas Arendsen Hein <thomas@intevation.de>
parents: 13797
diff changeset
    54
  not found!
3b9a896af09c paths: Add support for -q/--quiet
Thomas Arendsen Hein <thomas@intevation.de>
parents: 13797
diff changeset
    55
  [1]
3b9a896af09c paths: Add support for -q/--quiet
Thomas Arendsen Hein <thomas@intevation.de>
parents: 13797
diff changeset
    56
  $ hg paths -q unknown
3b9a896af09c paths: Add support for -q/--quiet
Thomas Arendsen Hein <thomas@intevation.de>
parents: 13797
diff changeset
    57
  [1]
27728
294037159c64 paths: port to generic templater
Yuya Nishihara <yuya@tcha.org>
parents: 27726
diff changeset
    58
294037159c64 paths: port to generic templater
Yuya Nishihara <yuya@tcha.org>
parents: 27726
diff changeset
    59
formatter output with paths:
294037159c64 paths: port to generic templater
Yuya Nishihara <yuya@tcha.org>
parents: 27726
diff changeset
    60
294037159c64 paths: port to generic templater
Yuya Nishihara <yuya@tcha.org>
parents: 27726
diff changeset
    61
  $ echo 'dupe:pushurl = https://example.com/dupe' >> .hg/hgrc
28173
1ff28873830e test-paths: fix up json output to match $TESTTMP on Windows
Matt Harbison <matt_harbison@yahoo.com>
parents: 27728
diff changeset
    62
  $ hg paths -Tjson | sed 's|\\\\|\\|g'
27728
294037159c64 paths: port to generic templater
Yuya Nishihara <yuya@tcha.org>
parents: 27726
diff changeset
    63
  [
294037159c64 paths: port to generic templater
Yuya Nishihara <yuya@tcha.org>
parents: 27726
diff changeset
    64
   {
294037159c64 paths: port to generic templater
Yuya Nishihara <yuya@tcha.org>
parents: 27726
diff changeset
    65
    "name": "dupe",
294037159c64 paths: port to generic templater
Yuya Nishihara <yuya@tcha.org>
parents: 27726
diff changeset
    66
    "pushurl": "https://example.com/dupe",
35393
4441705b7111 tests: remove (glob) annotations that were only for '\' matches
Matt Harbison <matt_harbison@yahoo.com>
parents: 34539
diff changeset
    67
    "url": "$TESTTMP/b#tip"
27728
294037159c64 paths: port to generic templater
Yuya Nishihara <yuya@tcha.org>
parents: 27726
diff changeset
    68
   },
294037159c64 paths: port to generic templater
Yuya Nishihara <yuya@tcha.org>
parents: 27726
diff changeset
    69
   {
294037159c64 paths: port to generic templater
Yuya Nishihara <yuya@tcha.org>
parents: 27726
diff changeset
    70
    "name": "expand",
35393
4441705b7111 tests: remove (glob) annotations that were only for '\' matches
Matt Harbison <matt_harbison@yahoo.com>
parents: 34539
diff changeset
    71
    "url": "$TESTTMP/a/$SOMETHING/bar"
27728
294037159c64 paths: port to generic templater
Yuya Nishihara <yuya@tcha.org>
parents: 27726
diff changeset
    72
   }
294037159c64 paths: port to generic templater
Yuya Nishihara <yuya@tcha.org>
parents: 27726
diff changeset
    73
  ]
28173
1ff28873830e test-paths: fix up json output to match $TESTTMP on Windows
Matt Harbison <matt_harbison@yahoo.com>
parents: 27728
diff changeset
    74
  $ hg paths -Tjson dupe | sed 's|\\\\|\\|g'
27728
294037159c64 paths: port to generic templater
Yuya Nishihara <yuya@tcha.org>
parents: 27726
diff changeset
    75
  [
294037159c64 paths: port to generic templater
Yuya Nishihara <yuya@tcha.org>
parents: 27726
diff changeset
    76
   {
294037159c64 paths: port to generic templater
Yuya Nishihara <yuya@tcha.org>
parents: 27726
diff changeset
    77
    "name": "dupe",
294037159c64 paths: port to generic templater
Yuya Nishihara <yuya@tcha.org>
parents: 27726
diff changeset
    78
    "pushurl": "https://example.com/dupe",
35393
4441705b7111 tests: remove (glob) annotations that were only for '\' matches
Matt Harbison <matt_harbison@yahoo.com>
parents: 34539
diff changeset
    79
    "url": "$TESTTMP/b#tip"
27728
294037159c64 paths: port to generic templater
Yuya Nishihara <yuya@tcha.org>
parents: 27726
diff changeset
    80
   }
294037159c64 paths: port to generic templater
Yuya Nishihara <yuya@tcha.org>
parents: 27726
diff changeset
    81
  ]
294037159c64 paths: port to generic templater
Yuya Nishihara <yuya@tcha.org>
parents: 27726
diff changeset
    82
  $ hg paths -Tjson -q unknown
294037159c64 paths: port to generic templater
Yuya Nishihara <yuya@tcha.org>
parents: 27726
diff changeset
    83
  [
294037159c64 paths: port to generic templater
Yuya Nishihara <yuya@tcha.org>
parents: 27726
diff changeset
    84
  ]
294037159c64 paths: port to generic templater
Yuya Nishihara <yuya@tcha.org>
parents: 27726
diff changeset
    85
  [1]
294037159c64 paths: port to generic templater
Yuya Nishihara <yuya@tcha.org>
parents: 27726
diff changeset
    86
33414
16ed67164002 templatekw: export ui.paths as {peerpaths}
Yuya Nishihara <yuya@tcha.org>
parents: 28218
diff changeset
    87
log template:
16ed67164002 templatekw: export ui.paths as {peerpaths}
Yuya Nishihara <yuya@tcha.org>
parents: 28218
diff changeset
    88
16ed67164002 templatekw: export ui.paths as {peerpaths}
Yuya Nishihara <yuya@tcha.org>
parents: 28218
diff changeset
    89
 (behaves as a {name: path-string} dict by default)
16ed67164002 templatekw: export ui.paths as {peerpaths}
Yuya Nishihara <yuya@tcha.org>
parents: 28218
diff changeset
    90
34539
f30e59703d98 templatekw: rename peerpaths to peerurls per naming convention (BC)
Yuya Nishihara <yuya@tcha.org>
parents: 34538
diff changeset
    91
  $ hg log -rnull -T '{peerurls}\n'
35393
4441705b7111 tests: remove (glob) annotations that were only for '\' matches
Matt Harbison <matt_harbison@yahoo.com>
parents: 34539
diff changeset
    92
  dupe=$TESTTMP/b#tip expand=$TESTTMP/a/$SOMETHING/bar
34539
f30e59703d98 templatekw: rename peerpaths to peerurls per naming convention (BC)
Yuya Nishihara <yuya@tcha.org>
parents: 34538
diff changeset
    93
  $ hg log -rnull -T '{join(peerurls, "\n")}\n'
35393
4441705b7111 tests: remove (glob) annotations that were only for '\' matches
Matt Harbison <matt_harbison@yahoo.com>
parents: 34539
diff changeset
    94
  dupe=$TESTTMP/b#tip
4441705b7111 tests: remove (glob) annotations that were only for '\' matches
Matt Harbison <matt_harbison@yahoo.com>
parents: 34539
diff changeset
    95
  expand=$TESTTMP/a/$SOMETHING/bar
34539
f30e59703d98 templatekw: rename peerpaths to peerurls per naming convention (BC)
Yuya Nishihara <yuya@tcha.org>
parents: 34538
diff changeset
    96
  $ hg log -rnull -T '{peerurls % "{name}: {url}\n"}'
35393
4441705b7111 tests: remove (glob) annotations that were only for '\' matches
Matt Harbison <matt_harbison@yahoo.com>
parents: 34539
diff changeset
    97
  dupe: $TESTTMP/b#tip
4441705b7111 tests: remove (glob) annotations that were only for '\' matches
Matt Harbison <matt_harbison@yahoo.com>
parents: 34539
diff changeset
    98
  expand: $TESTTMP/a/$SOMETHING/bar
34539
f30e59703d98 templatekw: rename peerpaths to peerurls per naming convention (BC)
Yuya Nishihara <yuya@tcha.org>
parents: 34538
diff changeset
    99
  $ hg log -rnull -T '{get(peerurls, "dupe")}\n'
35393
4441705b7111 tests: remove (glob) annotations that were only for '\' matches
Matt Harbison <matt_harbison@yahoo.com>
parents: 34539
diff changeset
   100
  $TESTTMP/b#tip
47571
e9c5c368be17 run-tests: also catch double-escapes for $TESTTMP
Raphaël Gomès <rgomes@octobus.net>
parents: 47276
diff changeset
   101
#if windows
e9c5c368be17 run-tests: also catch double-escapes for $TESTTMP
Raphaël Gomès <rgomes@octobus.net>
parents: 47276
diff changeset
   102
  $ hg log -rnull -T '{peerurls % "{urls|json}\n"}'
e9c5c368be17 run-tests: also catch double-escapes for $TESTTMP
Raphaël Gomès <rgomes@octobus.net>
parents: 47276
diff changeset
   103
  [{"pushurl": "https://example.com/dupe", "url": "$STR_REPR_TESTTMP\\b#tip"}]
e9c5c368be17 run-tests: also catch double-escapes for $TESTTMP
Raphaël Gomès <rgomes@octobus.net>
parents: 47276
diff changeset
   104
  [{"url": "$STR_REPR_TESTTMP\\a\\$SOMETHING\\bar"}]
e9c5c368be17 run-tests: also catch double-escapes for $TESTTMP
Raphaël Gomès <rgomes@octobus.net>
parents: 47276
diff changeset
   105
#else
47184
9c4d30b079e0 template: add a `paths` field to all entry in peerurls
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46928
diff changeset
   106
  $ hg log -rnull -T '{peerurls % "{urls|json}\n"}'
9c4d30b079e0 template: add a `paths` field to all entry in peerurls
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46928
diff changeset
   107
  [{"pushurl": "https://example.com/dupe", "url": "$TESTTMP/b#tip"}]
9c4d30b079e0 template: add a `paths` field to all entry in peerurls
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46928
diff changeset
   108
  [{"url": "$TESTTMP/a/$SOMETHING/bar"}]
47571
e9c5c368be17 run-tests: also catch double-escapes for $TESTTMP
Raphaël Gomès <rgomes@octobus.net>
parents: 47276
diff changeset
   109
#endif
33414
16ed67164002 templatekw: export ui.paths as {peerpaths}
Yuya Nishihara <yuya@tcha.org>
parents: 28218
diff changeset
   110
34538
ac38e889b33a templatekw: make experimental {peerpaths} return a single-level dict (BC)
Yuya Nishihara <yuya@tcha.org>
parents: 34537
diff changeset
   111
 (sub options can be populated by map/dot operation)
33414
16ed67164002 templatekw: export ui.paths as {peerpaths}
Yuya Nishihara <yuya@tcha.org>
parents: 28218
diff changeset
   112
34538
ac38e889b33a templatekw: make experimental {peerpaths} return a single-level dict (BC)
Yuya Nishihara <yuya@tcha.org>
parents: 34537
diff changeset
   113
  $ hg log -rnull \
34539
f30e59703d98 templatekw: rename peerpaths to peerurls per naming convention (BC)
Yuya Nishihara <yuya@tcha.org>
parents: 34538
diff changeset
   114
  > -T '{get(peerurls, "dupe") % "url: {url}\npushurl: {pushurl}\n"}'
35393
4441705b7111 tests: remove (glob) annotations that were only for '\' matches
Matt Harbison <matt_harbison@yahoo.com>
parents: 34539
diff changeset
   115
  url: $TESTTMP/b#tip
33414
16ed67164002 templatekw: export ui.paths as {peerpaths}
Yuya Nishihara <yuya@tcha.org>
parents: 28218
diff changeset
   116
  pushurl: https://example.com/dupe
34539
f30e59703d98 templatekw: rename peerpaths to peerurls per naming convention (BC)
Yuya Nishihara <yuya@tcha.org>
parents: 34538
diff changeset
   117
  $ hg log -rnull -T '{peerurls.dupe.pushurl}\n'
33414
16ed67164002 templatekw: export ui.paths as {peerpaths}
Yuya Nishihara <yuya@tcha.org>
parents: 28218
diff changeset
   118
  https://example.com/dupe
16ed67164002 templatekw: export ui.paths as {peerpaths}
Yuya Nishihara <yuya@tcha.org>
parents: 28218
diff changeset
   119
34538
ac38e889b33a templatekw: make experimental {peerpaths} return a single-level dict (BC)
Yuya Nishihara <yuya@tcha.org>
parents: 34537
diff changeset
   120
 (in JSON, it's a dict of urls)
33414
16ed67164002 templatekw: export ui.paths as {peerpaths}
Yuya Nishihara <yuya@tcha.org>
parents: 28218
diff changeset
   121
34539
f30e59703d98 templatekw: rename peerpaths to peerurls per naming convention (BC)
Yuya Nishihara <yuya@tcha.org>
parents: 34538
diff changeset
   122
  $ hg log -rnull -T '{peerurls|json}\n' | sed 's|\\\\|/|g'
34538
ac38e889b33a templatekw: make experimental {peerpaths} return a single-level dict (BC)
Yuya Nishihara <yuya@tcha.org>
parents: 34537
diff changeset
   123
  {"dupe": "$TESTTMP/b#tip", "expand": "$TESTTMP/a/$SOMETHING/bar"}
33414
16ed67164002 templatekw: export ui.paths as {peerpaths}
Yuya Nishihara <yuya@tcha.org>
parents: 28218
diff changeset
   124
16ed67164002 templatekw: export ui.paths as {peerpaths}
Yuya Nishihara <yuya@tcha.org>
parents: 28218
diff changeset
   125
password should be masked in plain output, but not in machine-readable/template
16ed67164002 templatekw: export ui.paths as {peerpaths}
Yuya Nishihara <yuya@tcha.org>
parents: 28218
diff changeset
   126
output:
27728
294037159c64 paths: port to generic templater
Yuya Nishihara <yuya@tcha.org>
parents: 27726
diff changeset
   127
294037159c64 paths: port to generic templater
Yuya Nishihara <yuya@tcha.org>
parents: 27726
diff changeset
   128
  $ echo 'insecure = http://foo:insecure@example.com/' >> .hg/hgrc
294037159c64 paths: port to generic templater
Yuya Nishihara <yuya@tcha.org>
parents: 27726
diff changeset
   129
  $ hg paths insecure
294037159c64 paths: port to generic templater
Yuya Nishihara <yuya@tcha.org>
parents: 27726
diff changeset
   130
  http://foo:***@example.com/
294037159c64 paths: port to generic templater
Yuya Nishihara <yuya@tcha.org>
parents: 27726
diff changeset
   131
  $ hg paths -Tjson insecure
294037159c64 paths: port to generic templater
Yuya Nishihara <yuya@tcha.org>
parents: 27726
diff changeset
   132
  [
294037159c64 paths: port to generic templater
Yuya Nishihara <yuya@tcha.org>
parents: 27726
diff changeset
   133
   {
294037159c64 paths: port to generic templater
Yuya Nishihara <yuya@tcha.org>
parents: 27726
diff changeset
   134
    "name": "insecure",
294037159c64 paths: port to generic templater
Yuya Nishihara <yuya@tcha.org>
parents: 27726
diff changeset
   135
    "url": "http://foo:insecure@example.com/"
294037159c64 paths: port to generic templater
Yuya Nishihara <yuya@tcha.org>
parents: 27726
diff changeset
   136
   }
294037159c64 paths: port to generic templater
Yuya Nishihara <yuya@tcha.org>
parents: 27726
diff changeset
   137
  ]
34539
f30e59703d98 templatekw: rename peerpaths to peerurls per naming convention (BC)
Yuya Nishihara <yuya@tcha.org>
parents: 34538
diff changeset
   138
  $ hg log -rnull -T '{get(peerurls, "insecure")}\n'
33414
16ed67164002 templatekw: export ui.paths as {peerpaths}
Yuya Nishihara <yuya@tcha.org>
parents: 28218
diff changeset
   139
  http://foo:insecure@example.com/
27728
294037159c64 paths: port to generic templater
Yuya Nishihara <yuya@tcha.org>
parents: 27726
diff changeset
   140
28038
72f2a19c5f88 zeroconf: forward all arguments passed to ui.configitems() wrapper
Yuya Nishihara <yuya@tcha.org>
parents: 27728
diff changeset
   141
zeroconf wraps ui.configitems(), which shouldn't crash at least:
72f2a19c5f88 zeroconf: forward all arguments passed to ui.configitems() wrapper
Yuya Nishihara <yuya@tcha.org>
parents: 27728
diff changeset
   142
47852
cce9e7d2fb92 pyoxidizer: skip for ZeroConf related test for now
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47571
diff changeset
   143
XXX-PYOXIDIZER Pyoxidizer build have trouble with zeroconf for unclear reason,
cce9e7d2fb92 pyoxidizer: skip for ZeroConf related test for now
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47571
diff changeset
   144
we accept the bad output for now as this is the last thing in the way of
cce9e7d2fb92 pyoxidizer: skip for ZeroConf related test for now
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47571
diff changeset
   145
testing the pyoxidizer build.
cce9e7d2fb92 pyoxidizer: skip for ZeroConf related test for now
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47571
diff changeset
   146
49834
6a3549a01c02 tests: conditionalize test output for in-filesystem pyoxidizer resources
Matt Harbison <matt_harbison@yahoo.com>
parents: 49621
diff changeset
   147
#if no-pyoxidizer-in-filesystem
28038
72f2a19c5f88 zeroconf: forward all arguments passed to ui.configitems() wrapper
Yuya Nishihara <yuya@tcha.org>
parents: 27728
diff changeset
   148
  $ hg paths --config extensions.zeroconf=
35393
4441705b7111 tests: remove (glob) annotations that were only for '\' matches
Matt Harbison <matt_harbison@yahoo.com>
parents: 34539
diff changeset
   149
  dupe = $TESTTMP/b#tip
28038
72f2a19c5f88 zeroconf: forward all arguments passed to ui.configitems() wrapper
Yuya Nishihara <yuya@tcha.org>
parents: 27728
diff changeset
   150
  dupe:pushurl = https://example.com/dupe
35393
4441705b7111 tests: remove (glob) annotations that were only for '\' matches
Matt Harbison <matt_harbison@yahoo.com>
parents: 34539
diff changeset
   151
  expand = $TESTTMP/a/$SOMETHING/bar
28038
72f2a19c5f88 zeroconf: forward all arguments passed to ui.configitems() wrapper
Yuya Nishihara <yuya@tcha.org>
parents: 27728
diff changeset
   152
  insecure = http://foo:***@example.com/
47852
cce9e7d2fb92 pyoxidizer: skip for ZeroConf related test for now
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47571
diff changeset
   153
#else
cce9e7d2fb92 pyoxidizer: skip for ZeroConf related test for now
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47571
diff changeset
   154
  $ hg paths --config extensions.zeroconf=
cce9e7d2fb92 pyoxidizer: skip for ZeroConf related test for now
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47571
diff changeset
   155
  abort: An invalid argument was supplied (known-bad-output !)
cce9e7d2fb92 pyoxidizer: skip for ZeroConf related test for now
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47571
diff changeset
   156
  [255]
cce9e7d2fb92 pyoxidizer: skip for ZeroConf related test for now
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47571
diff changeset
   157
#endif
cce9e7d2fb92 pyoxidizer: skip for ZeroConf related test for now
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47571
diff changeset
   158
28038
72f2a19c5f88 zeroconf: forward all arguments passed to ui.configitems() wrapper
Yuya Nishihara <yuya@tcha.org>
parents: 27728
diff changeset
   159
13797
16d5e80876de test-paths.t: 'file:' disables [paths] entries for clone dest
Adrian Buehlmann <adrian@cadifra.com>
parents: 12662
diff changeset
   160
  $ cd ..
16d5e80876de test-paths.t: 'file:' disables [paths] entries for clone dest
Adrian Buehlmann <adrian@cadifra.com>
parents: 12662
diff changeset
   161
27266
4dccc37b87bd ui: support declaring path push urls as sub-options
Gregory Szorc <gregory.szorc@gmail.com>
parents: 16913
diff changeset
   162
sub-options for an undeclared path are ignored
4dccc37b87bd ui: support declaring path push urls as sub-options
Gregory Szorc <gregory.szorc@gmail.com>
parents: 16913
diff changeset
   163
4dccc37b87bd ui: support declaring path push urls as sub-options
Gregory Szorc <gregory.szorc@gmail.com>
parents: 16913
diff changeset
   164
  $ hg init suboptions
4dccc37b87bd ui: support declaring path push urls as sub-options
Gregory Szorc <gregory.szorc@gmail.com>
parents: 16913
diff changeset
   165
  $ cd suboptions
4dccc37b87bd ui: support declaring path push urls as sub-options
Gregory Szorc <gregory.szorc@gmail.com>
parents: 16913
diff changeset
   166
4dccc37b87bd ui: support declaring path push urls as sub-options
Gregory Szorc <gregory.szorc@gmail.com>
parents: 16913
diff changeset
   167
  $ cat > .hg/hgrc << EOF
4dccc37b87bd ui: support declaring path push urls as sub-options
Gregory Szorc <gregory.szorc@gmail.com>
parents: 16913
diff changeset
   168
  > [paths]
4dccc37b87bd ui: support declaring path push urls as sub-options
Gregory Szorc <gregory.szorc@gmail.com>
parents: 16913
diff changeset
   169
  > path0 = https://example.com/path0
4dccc37b87bd ui: support declaring path push urls as sub-options
Gregory Szorc <gregory.szorc@gmail.com>
parents: 16913
diff changeset
   170
  > path1:pushurl = https://example.com/path1
4dccc37b87bd ui: support declaring path push urls as sub-options
Gregory Szorc <gregory.szorc@gmail.com>
parents: 16913
diff changeset
   171
  > EOF
4dccc37b87bd ui: support declaring path push urls as sub-options
Gregory Szorc <gregory.szorc@gmail.com>
parents: 16913
diff changeset
   172
  $ hg paths
4dccc37b87bd ui: support declaring path push urls as sub-options
Gregory Szorc <gregory.szorc@gmail.com>
parents: 16913
diff changeset
   173
  path0 = https://example.com/path0
4dccc37b87bd ui: support declaring path push urls as sub-options
Gregory Szorc <gregory.szorc@gmail.com>
parents: 16913
diff changeset
   174
4dccc37b87bd ui: support declaring path push urls as sub-options
Gregory Szorc <gregory.szorc@gmail.com>
parents: 16913
diff changeset
   175
unknown sub-options aren't displayed
4dccc37b87bd ui: support declaring path push urls as sub-options
Gregory Szorc <gregory.szorc@gmail.com>
parents: 16913
diff changeset
   176
4dccc37b87bd ui: support declaring path push urls as sub-options
Gregory Szorc <gregory.szorc@gmail.com>
parents: 16913
diff changeset
   177
  $ cat > .hg/hgrc << EOF
4dccc37b87bd ui: support declaring path push urls as sub-options
Gregory Szorc <gregory.szorc@gmail.com>
parents: 16913
diff changeset
   178
  > [paths]
4dccc37b87bd ui: support declaring path push urls as sub-options
Gregory Szorc <gregory.szorc@gmail.com>
parents: 16913
diff changeset
   179
  > path0 = https://example.com/path0
4dccc37b87bd ui: support declaring path push urls as sub-options
Gregory Szorc <gregory.szorc@gmail.com>
parents: 16913
diff changeset
   180
  > path0:foo = https://example.com/path1
4dccc37b87bd ui: support declaring path push urls as sub-options
Gregory Szorc <gregory.szorc@gmail.com>
parents: 16913
diff changeset
   181
  > EOF
4dccc37b87bd ui: support declaring path push urls as sub-options
Gregory Szorc <gregory.szorc@gmail.com>
parents: 16913
diff changeset
   182
4dccc37b87bd ui: support declaring path push urls as sub-options
Gregory Szorc <gregory.szorc@gmail.com>
parents: 16913
diff changeset
   183
  $ hg paths
4dccc37b87bd ui: support declaring path push urls as sub-options
Gregory Szorc <gregory.szorc@gmail.com>
parents: 16913
diff changeset
   184
  path0 = https://example.com/path0
4dccc37b87bd ui: support declaring path push urls as sub-options
Gregory Szorc <gregory.szorc@gmail.com>
parents: 16913
diff changeset
   185
4dccc37b87bd ui: support declaring path push urls as sub-options
Gregory Szorc <gregory.szorc@gmail.com>
parents: 16913
diff changeset
   186
:pushurl must be a URL
4dccc37b87bd ui: support declaring path push urls as sub-options
Gregory Szorc <gregory.szorc@gmail.com>
parents: 16913
diff changeset
   187
4dccc37b87bd ui: support declaring path push urls as sub-options
Gregory Szorc <gregory.szorc@gmail.com>
parents: 16913
diff changeset
   188
  $ cat > .hg/hgrc << EOF
4dccc37b87bd ui: support declaring path push urls as sub-options
Gregory Szorc <gregory.szorc@gmail.com>
parents: 16913
diff changeset
   189
  > [paths]
4dccc37b87bd ui: support declaring path push urls as sub-options
Gregory Szorc <gregory.szorc@gmail.com>
parents: 16913
diff changeset
   190
  > default = /path/to/nothing
4dccc37b87bd ui: support declaring path push urls as sub-options
Gregory Szorc <gregory.szorc@gmail.com>
parents: 16913
diff changeset
   191
  > default:pushurl = /not/a/url
4dccc37b87bd ui: support declaring path push urls as sub-options
Gregory Szorc <gregory.szorc@gmail.com>
parents: 16913
diff changeset
   192
  > EOF
4dccc37b87bd ui: support declaring path push urls as sub-options
Gregory Szorc <gregory.szorc@gmail.com>
parents: 16913
diff changeset
   193
4dccc37b87bd ui: support declaring path push urls as sub-options
Gregory Szorc <gregory.szorc@gmail.com>
parents: 16913
diff changeset
   194
  $ hg paths
47276
9cc9b4a25248 urlutil: provide some information about "bad url" when processing `pushurl`
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47273
diff changeset
   195
  (paths.default:pushurl not a URL; ignoring: "/not/a/url")
27266
4dccc37b87bd ui: support declaring path push urls as sub-options
Gregory Szorc <gregory.szorc@gmail.com>
parents: 16913
diff changeset
   196
  default = /path/to/nothing
4dccc37b87bd ui: support declaring path push urls as sub-options
Gregory Szorc <gregory.szorc@gmail.com>
parents: 16913
diff changeset
   197
4dccc37b87bd ui: support declaring path push urls as sub-options
Gregory Szorc <gregory.szorc@gmail.com>
parents: 16913
diff changeset
   198
#fragment is not allowed in :pushurl
4dccc37b87bd ui: support declaring path push urls as sub-options
Gregory Szorc <gregory.szorc@gmail.com>
parents: 16913
diff changeset
   199
4dccc37b87bd ui: support declaring path push urls as sub-options
Gregory Szorc <gregory.szorc@gmail.com>
parents: 16913
diff changeset
   200
  $ cat > .hg/hgrc << EOF
4dccc37b87bd ui: support declaring path push urls as sub-options
Gregory Szorc <gregory.szorc@gmail.com>
parents: 16913
diff changeset
   201
  > [paths]
4dccc37b87bd ui: support declaring path push urls as sub-options
Gregory Szorc <gregory.szorc@gmail.com>
parents: 16913
diff changeset
   202
  > default = https://example.com/repo
4dccc37b87bd ui: support declaring path push urls as sub-options
Gregory Szorc <gregory.szorc@gmail.com>
parents: 16913
diff changeset
   203
  > invalid = https://example.com/repo
4dccc37b87bd ui: support declaring path push urls as sub-options
Gregory Szorc <gregory.szorc@gmail.com>
parents: 16913
diff changeset
   204
  > invalid:pushurl = https://example.com/repo#branch
4dccc37b87bd ui: support declaring path push urls as sub-options
Gregory Szorc <gregory.szorc@gmail.com>
parents: 16913
diff changeset
   205
  > EOF
4dccc37b87bd ui: support declaring path push urls as sub-options
Gregory Szorc <gregory.szorc@gmail.com>
parents: 16913
diff changeset
   206
4dccc37b87bd ui: support declaring path push urls as sub-options
Gregory Szorc <gregory.szorc@gmail.com>
parents: 16913
diff changeset
   207
  $ hg paths
4dccc37b87bd ui: support declaring path push urls as sub-options
Gregory Szorc <gregory.szorc@gmail.com>
parents: 16913
diff changeset
   208
  ("#fragment" in paths.invalid:pushurl not supported; ignoring)
4dccc37b87bd ui: support declaring path push urls as sub-options
Gregory Szorc <gregory.szorc@gmail.com>
parents: 16913
diff changeset
   209
  default = https://example.com/repo
4dccc37b87bd ui: support declaring path push urls as sub-options
Gregory Szorc <gregory.szorc@gmail.com>
parents: 16913
diff changeset
   210
  invalid = https://example.com/repo
4dccc37b87bd ui: support declaring path push urls as sub-options
Gregory Szorc <gregory.szorc@gmail.com>
parents: 16913
diff changeset
   211
  invalid:pushurl = https://example.com/repo
4dccc37b87bd ui: support declaring path push urls as sub-options
Gregory Szorc <gregory.szorc@gmail.com>
parents: 16913
diff changeset
   212
4dccc37b87bd ui: support declaring path push urls as sub-options
Gregory Szorc <gregory.szorc@gmail.com>
parents: 16913
diff changeset
   213
  $ cd ..
4dccc37b87bd ui: support declaring path push urls as sub-options
Gregory Szorc <gregory.szorc@gmail.com>
parents: 16913
diff changeset
   214
13797
16d5e80876de test-paths.t: 'file:' disables [paths] entries for clone dest
Adrian Buehlmann <adrian@cadifra.com>
parents: 12662
diff changeset
   215
'file:' disables [paths] entries for clone destination
16d5e80876de test-paths.t: 'file:' disables [paths] entries for clone dest
Adrian Buehlmann <adrian@cadifra.com>
parents: 12662
diff changeset
   216
16d5e80876de test-paths.t: 'file:' disables [paths] entries for clone dest
Adrian Buehlmann <adrian@cadifra.com>
parents: 12662
diff changeset
   217
  $ cat >> $HGRCPATH <<EOF
16d5e80876de test-paths.t: 'file:' disables [paths] entries for clone dest
Adrian Buehlmann <adrian@cadifra.com>
parents: 12662
diff changeset
   218
  > [paths]
16d5e80876de test-paths.t: 'file:' disables [paths] entries for clone dest
Adrian Buehlmann <adrian@cadifra.com>
parents: 12662
diff changeset
   219
  > gpath1 = http://hg.example.com
16d5e80876de test-paths.t: 'file:' disables [paths] entries for clone dest
Adrian Buehlmann <adrian@cadifra.com>
parents: 12662
diff changeset
   220
  > EOF
16d5e80876de test-paths.t: 'file:' disables [paths] entries for clone dest
Adrian Buehlmann <adrian@cadifra.com>
parents: 12662
diff changeset
   221
16d5e80876de test-paths.t: 'file:' disables [paths] entries for clone dest
Adrian Buehlmann <adrian@cadifra.com>
parents: 12662
diff changeset
   222
  $ hg clone a gpath1
16d5e80876de test-paths.t: 'file:' disables [paths] entries for clone dest
Adrian Buehlmann <adrian@cadifra.com>
parents: 12662
diff changeset
   223
  abort: cannot create new http repository
16d5e80876de test-paths.t: 'file:' disables [paths] entries for clone dest
Adrian Buehlmann <adrian@cadifra.com>
parents: 12662
diff changeset
   224
  [255]
16d5e80876de test-paths.t: 'file:' disables [paths] entries for clone dest
Adrian Buehlmann <adrian@cadifra.com>
parents: 12662
diff changeset
   225
16d5e80876de test-paths.t: 'file:' disables [paths] entries for clone dest
Adrian Buehlmann <adrian@cadifra.com>
parents: 12662
diff changeset
   226
  $ hg clone a file:gpath1
16d5e80876de test-paths.t: 'file:' disables [paths] entries for clone dest
Adrian Buehlmann <adrian@cadifra.com>
parents: 12662
diff changeset
   227
  updating to branch default
16d5e80876de test-paths.t: 'file:' disables [paths] entries for clone dest
Adrian Buehlmann <adrian@cadifra.com>
parents: 12662
diff changeset
   228
  0 files updated, 0 files merged, 0 files removed, 0 files unresolved
16d5e80876de test-paths.t: 'file:' disables [paths] entries for clone dest
Adrian Buehlmann <adrian@cadifra.com>
parents: 12662
diff changeset
   229
  $ cd gpath1
16d5e80876de test-paths.t: 'file:' disables [paths] entries for clone dest
Adrian Buehlmann <adrian@cadifra.com>
parents: 12662
diff changeset
   230
  $ hg -q id
16d5e80876de test-paths.t: 'file:' disables [paths] entries for clone dest
Adrian Buehlmann <adrian@cadifra.com>
parents: 12662
diff changeset
   231
  000000000000
16d5e80876de test-paths.t: 'file:' disables [paths] entries for clone dest
Adrian Buehlmann <adrian@cadifra.com>
parents: 12662
diff changeset
   232
16913
f2719b387380 tests: add missing trailing 'cd ..'
Mads Kiilerich <mads@kiilerich.com>
parents: 16843
diff changeset
   233
  $ cd ..
46826
83b0a5c0dfec path: introduce a `path://` syntax to reference other path name
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 35393
diff changeset
   234
83b0a5c0dfec path: introduce a `path://` syntax to reference other path name
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 35393
diff changeset
   235
Testing path referencing other paths
83b0a5c0dfec path: introduce a `path://` syntax to reference other path name
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 35393
diff changeset
   236
====================================
83b0a5c0dfec path: introduce a `path://` syntax to reference other path name
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 35393
diff changeset
   237
83b0a5c0dfec path: introduce a `path://` syntax to reference other path name
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 35393
diff changeset
   238
basic setup
83b0a5c0dfec path: introduce a `path://` syntax to reference other path name
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 35393
diff changeset
   239
-----------
83b0a5c0dfec path: introduce a `path://` syntax to reference other path name
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 35393
diff changeset
   240
83b0a5c0dfec path: introduce a `path://` syntax to reference other path name
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 35393
diff changeset
   241
  $ hg init chained_path
83b0a5c0dfec path: introduce a `path://` syntax to reference other path name
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 35393
diff changeset
   242
  $ cd chained_path
83b0a5c0dfec path: introduce a `path://` syntax to reference other path name
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 35393
diff changeset
   243
  $ cat << EOF > .hg/hgrc
83b0a5c0dfec path: introduce a `path://` syntax to reference other path name
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 35393
diff changeset
   244
  > [paths]
83b0a5c0dfec path: introduce a `path://` syntax to reference other path name
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 35393
diff changeset
   245
  > default=../a
83b0a5c0dfec path: introduce a `path://` syntax to reference other path name
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 35393
diff changeset
   246
  > other_default=path://default
83b0a5c0dfec path: introduce a `path://` syntax to reference other path name
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 35393
diff changeset
   247
  > path_with_branch=../branchy#foo
83b0a5c0dfec path: introduce a `path://` syntax to reference other path name
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 35393
diff changeset
   248
  > other_branch=path://path_with_branch
83b0a5c0dfec path: introduce a `path://` syntax to reference other path name
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 35393
diff changeset
   249
  > other_branched=path://path_with_branch#default
83b0a5c0dfec path: introduce a `path://` syntax to reference other path name
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 35393
diff changeset
   250
  > pushdest=../push-dest
83b0a5c0dfec path: introduce a `path://` syntax to reference other path name
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 35393
diff changeset
   251
  > pushdest:pushrev=default
83b0a5c0dfec path: introduce a `path://` syntax to reference other path name
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 35393
diff changeset
   252
  > pushdest2=path://pushdest
83b0a5c0dfec path: introduce a `path://` syntax to reference other path name
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 35393
diff changeset
   253
  > pushdest-overwrite=path://pushdest
83b0a5c0dfec path: introduce a `path://` syntax to reference other path name
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 35393
diff changeset
   254
  > pushdest-overwrite:pushrev=foo
83b0a5c0dfec path: introduce a `path://` syntax to reference other path name
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 35393
diff changeset
   255
  > EOF
83b0a5c0dfec path: introduce a `path://` syntax to reference other path name
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 35393
diff changeset
   256
83b0a5c0dfec path: introduce a `path://` syntax to reference other path name
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 35393
diff changeset
   257
  $ hg init ../branchy
83b0a5c0dfec path: introduce a `path://` syntax to reference other path name
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 35393
diff changeset
   258
  $ hg init ../push-dest
83b0a5c0dfec path: introduce a `path://` syntax to reference other path name
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 35393
diff changeset
   259
  $ hg debugbuilddag -R ../branchy '.:base+3<base@foo+5'
83b0a5c0dfec path: introduce a `path://` syntax to reference other path name
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 35393
diff changeset
   260
  $ hg log -G -T '{branch}\n' -R ../branchy
83b0a5c0dfec path: introduce a `path://` syntax to reference other path name
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 35393
diff changeset
   261
  o  foo
83b0a5c0dfec path: introduce a `path://` syntax to reference other path name
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 35393
diff changeset
   262
  |
83b0a5c0dfec path: introduce a `path://` syntax to reference other path name
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 35393
diff changeset
   263
  o  foo
83b0a5c0dfec path: introduce a `path://` syntax to reference other path name
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 35393
diff changeset
   264
  |
83b0a5c0dfec path: introduce a `path://` syntax to reference other path name
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 35393
diff changeset
   265
  o  foo
83b0a5c0dfec path: introduce a `path://` syntax to reference other path name
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 35393
diff changeset
   266
  |
83b0a5c0dfec path: introduce a `path://` syntax to reference other path name
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 35393
diff changeset
   267
  o  foo
83b0a5c0dfec path: introduce a `path://` syntax to reference other path name
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 35393
diff changeset
   268
  |
83b0a5c0dfec path: introduce a `path://` syntax to reference other path name
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 35393
diff changeset
   269
  o  foo
83b0a5c0dfec path: introduce a `path://` syntax to reference other path name
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 35393
diff changeset
   270
  |
83b0a5c0dfec path: introduce a `path://` syntax to reference other path name
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 35393
diff changeset
   271
  | o  default
83b0a5c0dfec path: introduce a `path://` syntax to reference other path name
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 35393
diff changeset
   272
  | |
83b0a5c0dfec path: introduce a `path://` syntax to reference other path name
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 35393
diff changeset
   273
  | o  default
83b0a5c0dfec path: introduce a `path://` syntax to reference other path name
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 35393
diff changeset
   274
  | |
83b0a5c0dfec path: introduce a `path://` syntax to reference other path name
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 35393
diff changeset
   275
  | o  default
83b0a5c0dfec path: introduce a `path://` syntax to reference other path name
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 35393
diff changeset
   276
  |/
83b0a5c0dfec path: introduce a `path://` syntax to reference other path name
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 35393
diff changeset
   277
  o  default
83b0a5c0dfec path: introduce a `path://` syntax to reference other path name
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 35393
diff changeset
   278
  
83b0a5c0dfec path: introduce a `path://` syntax to reference other path name
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 35393
diff changeset
   279
83b0a5c0dfec path: introduce a `path://` syntax to reference other path name
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 35393
diff changeset
   280
  $ hg paths
83b0a5c0dfec path: introduce a `path://` syntax to reference other path name
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 35393
diff changeset
   281
  default = $TESTTMP/a
83b0a5c0dfec path: introduce a `path://` syntax to reference other path name
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 35393
diff changeset
   282
  gpath1 = http://hg.example.com/
83b0a5c0dfec path: introduce a `path://` syntax to reference other path name
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 35393
diff changeset
   283
  other_branch = $TESTTMP/branchy#foo
83b0a5c0dfec path: introduce a `path://` syntax to reference other path name
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 35393
diff changeset
   284
  other_branched = $TESTTMP/branchy#default
83b0a5c0dfec path: introduce a `path://` syntax to reference other path name
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 35393
diff changeset
   285
  other_default = $TESTTMP/a
83b0a5c0dfec path: introduce a `path://` syntax to reference other path name
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 35393
diff changeset
   286
  path_with_branch = $TESTTMP/branchy#foo
83b0a5c0dfec path: introduce a `path://` syntax to reference other path name
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 35393
diff changeset
   287
  pushdest = $TESTTMP/push-dest
83b0a5c0dfec path: introduce a `path://` syntax to reference other path name
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 35393
diff changeset
   288
  pushdest:pushrev = default
83b0a5c0dfec path: introduce a `path://` syntax to reference other path name
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 35393
diff changeset
   289
  pushdest-overwrite = $TESTTMP/push-dest
83b0a5c0dfec path: introduce a `path://` syntax to reference other path name
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 35393
diff changeset
   290
  pushdest-overwrite:pushrev = foo
83b0a5c0dfec path: introduce a `path://` syntax to reference other path name
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 35393
diff changeset
   291
  pushdest2 = $TESTTMP/push-dest
83b0a5c0dfec path: introduce a `path://` syntax to reference other path name
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 35393
diff changeset
   292
  pushdest2:pushrev = default
83b0a5c0dfec path: introduce a `path://` syntax to reference other path name
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 35393
diff changeset
   293
83b0a5c0dfec path: introduce a `path://` syntax to reference other path name
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 35393
diff changeset
   294
test basic chaining
83b0a5c0dfec path: introduce a `path://` syntax to reference other path name
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 35393
diff changeset
   295
-------------------
83b0a5c0dfec path: introduce a `path://` syntax to reference other path name
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 35393
diff changeset
   296
83b0a5c0dfec path: introduce a `path://` syntax to reference other path name
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 35393
diff changeset
   297
  $ hg path other_default
83b0a5c0dfec path: introduce a `path://` syntax to reference other path name
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 35393
diff changeset
   298
  $TESTTMP/a
83b0a5c0dfec path: introduce a `path://` syntax to reference other path name
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 35393
diff changeset
   299
  $ hg pull default
83b0a5c0dfec path: introduce a `path://` syntax to reference other path name
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 35393
diff changeset
   300
  pulling from $TESTTMP/a
83b0a5c0dfec path: introduce a `path://` syntax to reference other path name
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 35393
diff changeset
   301
  no changes found
83b0a5c0dfec path: introduce a `path://` syntax to reference other path name
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 35393
diff changeset
   302
  $ hg pull other_default
83b0a5c0dfec path: introduce a `path://` syntax to reference other path name
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 35393
diff changeset
   303
  pulling from $TESTTMP/a
83b0a5c0dfec path: introduce a `path://` syntax to reference other path name
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 35393
diff changeset
   304
  no changes found
83b0a5c0dfec path: introduce a `path://` syntax to reference other path name
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 35393
diff changeset
   305
83b0a5c0dfec path: introduce a `path://` syntax to reference other path name
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 35393
diff changeset
   306
test inheritance of the #fragment part
83b0a5c0dfec path: introduce a `path://` syntax to reference other path name
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 35393
diff changeset
   307
--------------------------------------
83b0a5c0dfec path: introduce a `path://` syntax to reference other path name
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 35393
diff changeset
   308
83b0a5c0dfec path: introduce a `path://` syntax to reference other path name
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 35393
diff changeset
   309
  $ hg pull path_with_branch
83b0a5c0dfec path: introduce a `path://` syntax to reference other path name
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 35393
diff changeset
   310
  pulling from $TESTTMP/branchy
83b0a5c0dfec path: introduce a `path://` syntax to reference other path name
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 35393
diff changeset
   311
  adding changesets
83b0a5c0dfec path: introduce a `path://` syntax to reference other path name
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 35393
diff changeset
   312
  adding manifests
83b0a5c0dfec path: introduce a `path://` syntax to reference other path name
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 35393
diff changeset
   313
  adding file changes
83b0a5c0dfec path: introduce a `path://` syntax to reference other path name
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 35393
diff changeset
   314
  added 6 changesets with 0 changes to 0 files
83b0a5c0dfec path: introduce a `path://` syntax to reference other path name
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 35393
diff changeset
   315
  new changesets 1ea73414a91b:bcebb50b77de
83b0a5c0dfec path: introduce a `path://` syntax to reference other path name
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 35393
diff changeset
   316
  (run 'hg update' to get a working copy)
83b0a5c0dfec path: introduce a `path://` syntax to reference other path name
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 35393
diff changeset
   317
  $ hg pull other_branch
83b0a5c0dfec path: introduce a `path://` syntax to reference other path name
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 35393
diff changeset
   318
  pulling from $TESTTMP/branchy
83b0a5c0dfec path: introduce a `path://` syntax to reference other path name
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 35393
diff changeset
   319
  no changes found
83b0a5c0dfec path: introduce a `path://` syntax to reference other path name
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 35393
diff changeset
   320
  $ hg pull other_branched
83b0a5c0dfec path: introduce a `path://` syntax to reference other path name
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 35393
diff changeset
   321
  pulling from $TESTTMP/branchy
83b0a5c0dfec path: introduce a `path://` syntax to reference other path name
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 35393
diff changeset
   322
  searching for changes
83b0a5c0dfec path: introduce a `path://` syntax to reference other path name
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 35393
diff changeset
   323
  adding changesets
83b0a5c0dfec path: introduce a `path://` syntax to reference other path name
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 35393
diff changeset
   324
  adding manifests
83b0a5c0dfec path: introduce a `path://` syntax to reference other path name
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 35393
diff changeset
   325
  adding file changes
83b0a5c0dfec path: introduce a `path://` syntax to reference other path name
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 35393
diff changeset
   326
  added 3 changesets with 0 changes to 0 files (+1 heads)
83b0a5c0dfec path: introduce a `path://` syntax to reference other path name
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 35393
diff changeset
   327
  new changesets 66f7d451a68b:2dc09a01254d
83b0a5c0dfec path: introduce a `path://` syntax to reference other path name
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 35393
diff changeset
   328
  (run 'hg heads' to see heads)
83b0a5c0dfec path: introduce a `path://` syntax to reference other path name
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 35393
diff changeset
   329
83b0a5c0dfec path: introduce a `path://` syntax to reference other path name
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 35393
diff changeset
   330
test inheritance of the suboptions
83b0a5c0dfec path: introduce a `path://` syntax to reference other path name
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 35393
diff changeset
   331
----------------------------------
83b0a5c0dfec path: introduce a `path://` syntax to reference other path name
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 35393
diff changeset
   332
83b0a5c0dfec path: introduce a `path://` syntax to reference other path name
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 35393
diff changeset
   333
  $ hg push pushdest
83b0a5c0dfec path: introduce a `path://` syntax to reference other path name
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 35393
diff changeset
   334
  pushing to $TESTTMP/push-dest
83b0a5c0dfec path: introduce a `path://` syntax to reference other path name
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 35393
diff changeset
   335
  searching for changes
83b0a5c0dfec path: introduce a `path://` syntax to reference other path name
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 35393
diff changeset
   336
  adding changesets
83b0a5c0dfec path: introduce a `path://` syntax to reference other path name
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 35393
diff changeset
   337
  adding manifests
83b0a5c0dfec path: introduce a `path://` syntax to reference other path name
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 35393
diff changeset
   338
  adding file changes
83b0a5c0dfec path: introduce a `path://` syntax to reference other path name
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 35393
diff changeset
   339
  added 4 changesets with 0 changes to 0 files
83b0a5c0dfec path: introduce a `path://` syntax to reference other path name
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 35393
diff changeset
   340
  $ hg push pushdest2
83b0a5c0dfec path: introduce a `path://` syntax to reference other path name
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 35393
diff changeset
   341
  pushing to $TESTTMP/push-dest
83b0a5c0dfec path: introduce a `path://` syntax to reference other path name
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 35393
diff changeset
   342
  searching for changes
83b0a5c0dfec path: introduce a `path://` syntax to reference other path name
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 35393
diff changeset
   343
  no changes found
83b0a5c0dfec path: introduce a `path://` syntax to reference other path name
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 35393
diff changeset
   344
  [1]
83b0a5c0dfec path: introduce a `path://` syntax to reference other path name
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 35393
diff changeset
   345
  $ hg push pushdest-overwrite --new-branch
83b0a5c0dfec path: introduce a `path://` syntax to reference other path name
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 35393
diff changeset
   346
  pushing to $TESTTMP/push-dest
83b0a5c0dfec path: introduce a `path://` syntax to reference other path name
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 35393
diff changeset
   347
  searching for changes
83b0a5c0dfec path: introduce a `path://` syntax to reference other path name
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 35393
diff changeset
   348
  adding changesets
83b0a5c0dfec path: introduce a `path://` syntax to reference other path name
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 35393
diff changeset
   349
  adding manifests
83b0a5c0dfec path: introduce a `path://` syntax to reference other path name
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 35393
diff changeset
   350
  adding file changes
83b0a5c0dfec path: introduce a `path://` syntax to reference other path name
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 35393
diff changeset
   351
  added 5 changesets with 0 changes to 0 files (+1 heads)
46827
1ecf082386b7 path: forbid chaining `path://` definitions
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46826
diff changeset
   352
1ecf082386b7 path: forbid chaining `path://` definitions
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46826
diff changeset
   353
Test chaining path:// definition
1ecf082386b7 path: forbid chaining `path://` definitions
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46826
diff changeset
   354
--------------------------------
1ecf082386b7 path: forbid chaining `path://` definitions
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46826
diff changeset
   355
1ecf082386b7 path: forbid chaining `path://` definitions
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46826
diff changeset
   356
This is currently unsupported, but feel free to implement the necessary
1ecf082386b7 path: forbid chaining `path://` definitions
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46826
diff changeset
   357
dependency detection.
1ecf082386b7 path: forbid chaining `path://` definitions
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46826
diff changeset
   358
1ecf082386b7 path: forbid chaining `path://` definitions
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46826
diff changeset
   359
  $ cat << EOF >> .hg/hgrc
1ecf082386b7 path: forbid chaining `path://` definitions
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46826
diff changeset
   360
  > chain_path=path://other_default
1ecf082386b7 path: forbid chaining `path://` definitions
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46826
diff changeset
   361
  > EOF
1ecf082386b7 path: forbid chaining `path://` definitions
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46826
diff changeset
   362
1ecf082386b7 path: forbid chaining `path://` definitions
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46826
diff changeset
   363
  $ hg id
1ecf082386b7 path: forbid chaining `path://` definitions
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46826
diff changeset
   364
  000000000000
1ecf082386b7 path: forbid chaining `path://` definitions
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46826
diff changeset
   365
  $ hg path
46928
93c224dc099b urlutil: use bytes for Abort messages
Matt Harbison <matt_harbison@yahoo.com>
parents: 46828
diff changeset
   366
  abort: cannot use `path://other_default`, "other_default" is also defined as a `path://`
46827
1ecf082386b7 path: forbid chaining `path://` definitions
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46826
diff changeset
   367
  [255]
1ecf082386b7 path: forbid chaining `path://` definitions
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46826
diff changeset
   368
  $ hg pull chain_path
46928
93c224dc099b urlutil: use bytes for Abort messages
Matt Harbison <matt_harbison@yahoo.com>
parents: 46828
diff changeset
   369
  abort: cannot use `path://other_default`, "other_default" is also defined as a `path://`
46827
1ecf082386b7 path: forbid chaining `path://` definitions
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46826
diff changeset
   370
  [255]
1ecf082386b7 path: forbid chaining `path://` definitions
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46826
diff changeset
   371
1ecf082386b7 path: forbid chaining `path://` definitions
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46826
diff changeset
   372
Doing an actual circle should always be an issue
1ecf082386b7 path: forbid chaining `path://` definitions
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46826
diff changeset
   373
1ecf082386b7 path: forbid chaining `path://` definitions
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46826
diff changeset
   374
  $ cat << EOF >> .hg/hgrc
1ecf082386b7 path: forbid chaining `path://` definitions
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46826
diff changeset
   375
  > rock=path://cissors
1ecf082386b7 path: forbid chaining `path://` definitions
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46826
diff changeset
   376
  > cissors=path://paper
1ecf082386b7 path: forbid chaining `path://` definitions
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46826
diff changeset
   377
  > paper=://rock
1ecf082386b7 path: forbid chaining `path://` definitions
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46826
diff changeset
   378
  > EOF
1ecf082386b7 path: forbid chaining `path://` definitions
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46826
diff changeset
   379
1ecf082386b7 path: forbid chaining `path://` definitions
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46826
diff changeset
   380
  $ hg id
1ecf082386b7 path: forbid chaining `path://` definitions
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46826
diff changeset
   381
  000000000000
1ecf082386b7 path: forbid chaining `path://` definitions
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46826
diff changeset
   382
  $ hg path
46928
93c224dc099b urlutil: use bytes for Abort messages
Matt Harbison <matt_harbison@yahoo.com>
parents: 46828
diff changeset
   383
  abort: cannot use `path://other_default`, "other_default" is also defined as a `path://`
46827
1ecf082386b7 path: forbid chaining `path://` definitions
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46826
diff changeset
   384
  [255]
1ecf082386b7 path: forbid chaining `path://` definitions
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46826
diff changeset
   385
  $ hg pull chain_path
46928
93c224dc099b urlutil: use bytes for Abort messages
Matt Harbison <matt_harbison@yahoo.com>
parents: 46828
diff changeset
   386
  abort: cannot use `path://other_default`, "other_default" is also defined as a `path://`
46827
1ecf082386b7 path: forbid chaining `path://` definitions
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46826
diff changeset
   387
  [255]
46828
395cf404e76a path: error out if the `path://` reference point to an unknown path
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46827
diff changeset
   388
395cf404e76a path: error out if the `path://` reference point to an unknown path
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46827
diff changeset
   389
Test basic error cases
395cf404e76a path: error out if the `path://` reference point to an unknown path
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46827
diff changeset
   390
----------------------
395cf404e76a path: error out if the `path://` reference point to an unknown path
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46827
diff changeset
   391
395cf404e76a path: error out if the `path://` reference point to an unknown path
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46827
diff changeset
   392
  $ cat << EOF > .hg/hgrc
395cf404e76a path: error out if the `path://` reference point to an unknown path
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46827
diff changeset
   393
  > [paths]
395cf404e76a path: error out if the `path://` reference point to an unknown path
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46827
diff changeset
   394
  > error-missing=path://unknown
395cf404e76a path: error out if the `path://` reference point to an unknown path
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46827
diff changeset
   395
  > EOF
395cf404e76a path: error out if the `path://` reference point to an unknown path
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46827
diff changeset
   396
  $ hg path
395cf404e76a path: error out if the `path://` reference point to an unknown path
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46827
diff changeset
   397
  abort: cannot use `path://unknown`, "unknown" is not a known path
395cf404e76a path: error out if the `path://` reference point to an unknown path
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46827
diff changeset
   398
  [255]
395cf404e76a path: error out if the `path://` reference point to an unknown path
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46827
diff changeset
   399
  $ hg pull error-missing
395cf404e76a path: error out if the `path://` reference point to an unknown path
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46827
diff changeset
   400
  abort: cannot use `path://unknown`, "unknown" is not a known path
395cf404e76a path: error out if the `path://` reference point to an unknown path
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46827
diff changeset
   401
  [255]
395cf404e76a path: error out if the `path://` reference point to an unknown path
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46827
diff changeset
   402
47273
834f4e9d1af2 multi-urls: add a boolean suboption that unlock path specification as list
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47184
diff changeset
   403
Test path pointing to multiple urls
834f4e9d1af2 multi-urls: add a boolean suboption that unlock path specification as list
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47184
diff changeset
   404
===================================
834f4e9d1af2 multi-urls: add a boolean suboption that unlock path specification as list
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47184
diff changeset
   405
834f4e9d1af2 multi-urls: add a boolean suboption that unlock path specification as list
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47184
diff changeset
   406
Simple cases
834f4e9d1af2 multi-urls: add a boolean suboption that unlock path specification as list
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47184
diff changeset
   407
------------
834f4e9d1af2 multi-urls: add a boolean suboption that unlock path specification as list
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47184
diff changeset
   408
- one layer
834f4e9d1af2 multi-urls: add a boolean suboption that unlock path specification as list
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47184
diff changeset
   409
- one list
834f4e9d1af2 multi-urls: add a boolean suboption that unlock path specification as list
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47184
diff changeset
   410
- no special option
834f4e9d1af2 multi-urls: add a boolean suboption that unlock path specification as list
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47184
diff changeset
   411
834f4e9d1af2 multi-urls: add a boolean suboption that unlock path specification as list
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47184
diff changeset
   412
  $ cat << EOF > .hg/hgrc
834f4e9d1af2 multi-urls: add a boolean suboption that unlock path specification as list
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47184
diff changeset
   413
  > [paths]
834f4e9d1af2 multi-urls: add a boolean suboption that unlock path specification as list
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47184
diff changeset
   414
  > one-path=foo
834f4e9d1af2 multi-urls: add a boolean suboption that unlock path specification as list
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47184
diff changeset
   415
  > multiple-path=foo,bar,baz,https://example.org/
834f4e9d1af2 multi-urls: add a boolean suboption that unlock path specification as list
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47184
diff changeset
   416
  > multiple-path:multi-urls=yes
834f4e9d1af2 multi-urls: add a boolean suboption that unlock path specification as list
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47184
diff changeset
   417
  > EOF
834f4e9d1af2 multi-urls: add a boolean suboption that unlock path specification as list
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47184
diff changeset
   418
  $ hg path
834f4e9d1af2 multi-urls: add a boolean suboption that unlock path specification as list
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47184
diff changeset
   419
  gpath1 = http://hg.example.com/
834f4e9d1af2 multi-urls: add a boolean suboption that unlock path specification as list
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47184
diff changeset
   420
  multiple-path = $TESTTMP/chained_path/foo
834f4e9d1af2 multi-urls: add a boolean suboption that unlock path specification as list
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47184
diff changeset
   421
  multiple-path:multi-urls = yes
834f4e9d1af2 multi-urls: add a boolean suboption that unlock path specification as list
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47184
diff changeset
   422
  multiple-path = $TESTTMP/chained_path/bar
834f4e9d1af2 multi-urls: add a boolean suboption that unlock path specification as list
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47184
diff changeset
   423
  multiple-path:multi-urls = yes
834f4e9d1af2 multi-urls: add a boolean suboption that unlock path specification as list
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47184
diff changeset
   424
  multiple-path = $TESTTMP/chained_path/baz
834f4e9d1af2 multi-urls: add a boolean suboption that unlock path specification as list
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47184
diff changeset
   425
  multiple-path:multi-urls = yes
834f4e9d1af2 multi-urls: add a boolean suboption that unlock path specification as list
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47184
diff changeset
   426
  multiple-path = https://example.org/
834f4e9d1af2 multi-urls: add a boolean suboption that unlock path specification as list
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47184
diff changeset
   427
  multiple-path:multi-urls = yes
834f4e9d1af2 multi-urls: add a boolean suboption that unlock path specification as list
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47184
diff changeset
   428
  one-path = $TESTTMP/chained_path/foo
834f4e9d1af2 multi-urls: add a boolean suboption that unlock path specification as list
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47184
diff changeset
   429
834f4e9d1af2 multi-urls: add a boolean suboption that unlock path specification as list
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47184
diff changeset
   430
Reference to a list
834f4e9d1af2 multi-urls: add a boolean suboption that unlock path specification as list
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47184
diff changeset
   431
-------------------
834f4e9d1af2 multi-urls: add a boolean suboption that unlock path specification as list
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47184
diff changeset
   432
834f4e9d1af2 multi-urls: add a boolean suboption that unlock path specification as list
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47184
diff changeset
   433
  $ cat << EOF >> .hg/hgrc
834f4e9d1af2 multi-urls: add a boolean suboption that unlock path specification as list
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47184
diff changeset
   434
  > ref-to-multi=path://multiple-path
834f4e9d1af2 multi-urls: add a boolean suboption that unlock path specification as list
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47184
diff changeset
   435
  > EOF
834f4e9d1af2 multi-urls: add a boolean suboption that unlock path specification as list
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47184
diff changeset
   436
  $ hg path | grep ref-to-multi
834f4e9d1af2 multi-urls: add a boolean suboption that unlock path specification as list
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47184
diff changeset
   437
  ref-to-multi = $TESTTMP/chained_path/foo
834f4e9d1af2 multi-urls: add a boolean suboption that unlock path specification as list
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47184
diff changeset
   438
  ref-to-multi:multi-urls = yes
834f4e9d1af2 multi-urls: add a boolean suboption that unlock path specification as list
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47184
diff changeset
   439
  ref-to-multi = $TESTTMP/chained_path/bar
834f4e9d1af2 multi-urls: add a boolean suboption that unlock path specification as list
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47184
diff changeset
   440
  ref-to-multi:multi-urls = yes
834f4e9d1af2 multi-urls: add a boolean suboption that unlock path specification as list
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47184
diff changeset
   441
  ref-to-multi = $TESTTMP/chained_path/baz
834f4e9d1af2 multi-urls: add a boolean suboption that unlock path specification as list
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47184
diff changeset
   442
  ref-to-multi:multi-urls = yes
834f4e9d1af2 multi-urls: add a boolean suboption that unlock path specification as list
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47184
diff changeset
   443
  ref-to-multi = https://example.org/
834f4e9d1af2 multi-urls: add a boolean suboption that unlock path specification as list
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47184
diff changeset
   444
  ref-to-multi:multi-urls = yes
834f4e9d1af2 multi-urls: add a boolean suboption that unlock path specification as list
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47184
diff changeset
   445
834f4e9d1af2 multi-urls: add a boolean suboption that unlock path specification as list
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47184
diff changeset
   446
List with a reference
834f4e9d1af2 multi-urls: add a boolean suboption that unlock path specification as list
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47184
diff changeset
   447
---------------------
834f4e9d1af2 multi-urls: add a boolean suboption that unlock path specification as list
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47184
diff changeset
   448
834f4e9d1af2 multi-urls: add a boolean suboption that unlock path specification as list
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47184
diff changeset
   449
  $ cat << EOF >> .hg/hgrc
834f4e9d1af2 multi-urls: add a boolean suboption that unlock path specification as list
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47184
diff changeset
   450
  > multi-with-ref=path://one-path, ssh://babar@savannah/celeste-ville
834f4e9d1af2 multi-urls: add a boolean suboption that unlock path specification as list
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47184
diff changeset
   451
  > multi-with-ref:multi-urls=yes
834f4e9d1af2 multi-urls: add a boolean suboption that unlock path specification as list
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47184
diff changeset
   452
  > EOF
834f4e9d1af2 multi-urls: add a boolean suboption that unlock path specification as list
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47184
diff changeset
   453
  $ hg path | grep multi-with-ref
834f4e9d1af2 multi-urls: add a boolean suboption that unlock path specification as list
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47184
diff changeset
   454
  multi-with-ref = $TESTTMP/chained_path/foo
834f4e9d1af2 multi-urls: add a boolean suboption that unlock path specification as list
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47184
diff changeset
   455
  multi-with-ref:multi-urls = yes
834f4e9d1af2 multi-urls: add a boolean suboption that unlock path specification as list
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47184
diff changeset
   456
  multi-with-ref = ssh://babar@savannah/celeste-ville
834f4e9d1af2 multi-urls: add a boolean suboption that unlock path specification as list
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47184
diff changeset
   457
  multi-with-ref:multi-urls = yes
834f4e9d1af2 multi-urls: add a boolean suboption that unlock path specification as list
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47184
diff changeset
   458
834f4e9d1af2 multi-urls: add a boolean suboption that unlock path specification as list
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47184
diff changeset
   459
List with a reference to a list
834f4e9d1af2 multi-urls: add a boolean suboption that unlock path specification as list
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47184
diff changeset
   460
-------------------------------
834f4e9d1af2 multi-urls: add a boolean suboption that unlock path specification as list
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47184
diff changeset
   461
834f4e9d1af2 multi-urls: add a boolean suboption that unlock path specification as list
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47184
diff changeset
   462
  $ cat << EOF >> .hg/hgrc
834f4e9d1af2 multi-urls: add a boolean suboption that unlock path specification as list
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47184
diff changeset
   463
  > multi-to-multi-ref = path://multiple-path, ssh://celeste@savannah/celeste-ville
834f4e9d1af2 multi-urls: add a boolean suboption that unlock path specification as list
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47184
diff changeset
   464
  > multi-to-multi-ref:multi-urls = yes
834f4e9d1af2 multi-urls: add a boolean suboption that unlock path specification as list
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47184
diff changeset
   465
  > EOF
834f4e9d1af2 multi-urls: add a boolean suboption that unlock path specification as list
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47184
diff changeset
   466
  $ hg path | grep multi-to-multi-ref
834f4e9d1af2 multi-urls: add a boolean suboption that unlock path specification as list
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47184
diff changeset
   467
  multi-to-multi-ref = $TESTTMP/chained_path/foo
834f4e9d1af2 multi-urls: add a boolean suboption that unlock path specification as list
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47184
diff changeset
   468
  multi-to-multi-ref:multi-urls = yes
834f4e9d1af2 multi-urls: add a boolean suboption that unlock path specification as list
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47184
diff changeset
   469
  multi-to-multi-ref = $TESTTMP/chained_path/bar
834f4e9d1af2 multi-urls: add a boolean suboption that unlock path specification as list
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47184
diff changeset
   470
  multi-to-multi-ref:multi-urls = yes
834f4e9d1af2 multi-urls: add a boolean suboption that unlock path specification as list
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47184
diff changeset
   471
  multi-to-multi-ref = $TESTTMP/chained_path/baz
834f4e9d1af2 multi-urls: add a boolean suboption that unlock path specification as list
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47184
diff changeset
   472
  multi-to-multi-ref:multi-urls = yes
834f4e9d1af2 multi-urls: add a boolean suboption that unlock path specification as list
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47184
diff changeset
   473
  multi-to-multi-ref = https://example.org/
834f4e9d1af2 multi-urls: add a boolean suboption that unlock path specification as list
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47184
diff changeset
   474
  multi-to-multi-ref:multi-urls = yes
834f4e9d1af2 multi-urls: add a boolean suboption that unlock path specification as list
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47184
diff changeset
   475
  multi-to-multi-ref = ssh://celeste@savannah/celeste-ville
834f4e9d1af2 multi-urls: add a boolean suboption that unlock path specification as list
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47184
diff changeset
   476
  multi-to-multi-ref:multi-urls = yes
834f4e9d1af2 multi-urls: add a boolean suboption that unlock path specification as list
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47184
diff changeset
   477
834f4e9d1af2 multi-urls: add a boolean suboption that unlock path specification as list
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47184
diff changeset
   478
individual suboptions are inherited
834f4e9d1af2 multi-urls: add a boolean suboption that unlock path specification as list
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47184
diff changeset
   479
-----------------------------------
834f4e9d1af2 multi-urls: add a boolean suboption that unlock path specification as list
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47184
diff changeset
   480
834f4e9d1af2 multi-urls: add a boolean suboption that unlock path specification as list
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47184
diff changeset
   481
  $ cat << EOF >> .hg/hgrc
834f4e9d1af2 multi-urls: add a boolean suboption that unlock path specification as list
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47184
diff changeset
   482
  > with-pushurl = foo
834f4e9d1af2 multi-urls: add a boolean suboption that unlock path specification as list
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47184
diff changeset
   483
  > with-pushurl:pushurl = http://foo.bar/
834f4e9d1af2 multi-urls: add a boolean suboption that unlock path specification as list
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47184
diff changeset
   484
  > with-pushrev = bar
834f4e9d1af2 multi-urls: add a boolean suboption that unlock path specification as list
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47184
diff changeset
   485
  > with-pushrev:pushrev = draft()
834f4e9d1af2 multi-urls: add a boolean suboption that unlock path specification as list
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47184
diff changeset
   486
  > with-both = toto
834f4e9d1af2 multi-urls: add a boolean suboption that unlock path specification as list
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47184
diff changeset
   487
  > with-both:pushurl = http://ta.ta
834f4e9d1af2 multi-urls: add a boolean suboption that unlock path specification as list
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47184
diff changeset
   488
  > with-both:pushrev = secret()
834f4e9d1af2 multi-urls: add a boolean suboption that unlock path specification as list
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47184
diff changeset
   489
  > ref-all-no-opts = path://with-pushurl, path://with-pushrev, path://with-both
834f4e9d1af2 multi-urls: add a boolean suboption that unlock path specification as list
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47184
diff changeset
   490
  > ref-all-no-opts:multi-urls = yes
834f4e9d1af2 multi-urls: add a boolean suboption that unlock path specification as list
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47184
diff changeset
   491
  > with-overwrite = path://with-pushurl, path://with-pushrev, path://with-both
834f4e9d1af2 multi-urls: add a boolean suboption that unlock path specification as list
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47184
diff changeset
   492
  > with-overwrite:multi-urls = yes
834f4e9d1af2 multi-urls: add a boolean suboption that unlock path specification as list
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47184
diff changeset
   493
  > with-overwrite:pushrev = public()
834f4e9d1af2 multi-urls: add a boolean suboption that unlock path specification as list
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47184
diff changeset
   494
  > EOF
834f4e9d1af2 multi-urls: add a boolean suboption that unlock path specification as list
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47184
diff changeset
   495
  $ hg path | grep with-pushurl
834f4e9d1af2 multi-urls: add a boolean suboption that unlock path specification as list
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47184
diff changeset
   496
  with-pushurl = $TESTTMP/chained_path/foo
834f4e9d1af2 multi-urls: add a boolean suboption that unlock path specification as list
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47184
diff changeset
   497
  with-pushurl:pushurl = http://foo.bar/
834f4e9d1af2 multi-urls: add a boolean suboption that unlock path specification as list
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47184
diff changeset
   498
  $ hg path | grep with-pushrev
834f4e9d1af2 multi-urls: add a boolean suboption that unlock path specification as list
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47184
diff changeset
   499
  with-pushrev = $TESTTMP/chained_path/bar
834f4e9d1af2 multi-urls: add a boolean suboption that unlock path specification as list
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47184
diff changeset
   500
  with-pushrev:pushrev = draft()
834f4e9d1af2 multi-urls: add a boolean suboption that unlock path specification as list
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47184
diff changeset
   501
  $ hg path | grep with-both
834f4e9d1af2 multi-urls: add a boolean suboption that unlock path specification as list
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47184
diff changeset
   502
  with-both = $TESTTMP/chained_path/toto
834f4e9d1af2 multi-urls: add a boolean suboption that unlock path specification as list
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47184
diff changeset
   503
  with-both:pushrev = secret()
834f4e9d1af2 multi-urls: add a boolean suboption that unlock path specification as list
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47184
diff changeset
   504
  with-both:pushurl = http://ta.ta/
834f4e9d1af2 multi-urls: add a boolean suboption that unlock path specification as list
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47184
diff changeset
   505
  $ hg path | grep ref-all-no-opts
834f4e9d1af2 multi-urls: add a boolean suboption that unlock path specification as list
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47184
diff changeset
   506
  ref-all-no-opts = $TESTTMP/chained_path/foo
834f4e9d1af2 multi-urls: add a boolean suboption that unlock path specification as list
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47184
diff changeset
   507
  ref-all-no-opts:multi-urls = yes
834f4e9d1af2 multi-urls: add a boolean suboption that unlock path specification as list
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47184
diff changeset
   508
  ref-all-no-opts:pushurl = http://foo.bar/
834f4e9d1af2 multi-urls: add a boolean suboption that unlock path specification as list
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47184
diff changeset
   509
  ref-all-no-opts = $TESTTMP/chained_path/bar
834f4e9d1af2 multi-urls: add a boolean suboption that unlock path specification as list
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47184
diff changeset
   510
  ref-all-no-opts:multi-urls = yes
834f4e9d1af2 multi-urls: add a boolean suboption that unlock path specification as list
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47184
diff changeset
   511
  ref-all-no-opts:pushrev = draft()
834f4e9d1af2 multi-urls: add a boolean suboption that unlock path specification as list
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47184
diff changeset
   512
  ref-all-no-opts = $TESTTMP/chained_path/toto
834f4e9d1af2 multi-urls: add a boolean suboption that unlock path specification as list
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47184
diff changeset
   513
  ref-all-no-opts:multi-urls = yes
834f4e9d1af2 multi-urls: add a boolean suboption that unlock path specification as list
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47184
diff changeset
   514
  ref-all-no-opts:pushrev = secret()
834f4e9d1af2 multi-urls: add a boolean suboption that unlock path specification as list
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47184
diff changeset
   515
  ref-all-no-opts:pushurl = http://ta.ta/
834f4e9d1af2 multi-urls: add a boolean suboption that unlock path specification as list
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47184
diff changeset
   516
  $ hg path | grep with-overwrite
834f4e9d1af2 multi-urls: add a boolean suboption that unlock path specification as list
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47184
diff changeset
   517
  with-overwrite = $TESTTMP/chained_path/foo
834f4e9d1af2 multi-urls: add a boolean suboption that unlock path specification as list
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47184
diff changeset
   518
  with-overwrite:multi-urls = yes
834f4e9d1af2 multi-urls: add a boolean suboption that unlock path specification as list
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47184
diff changeset
   519
  with-overwrite:pushrev = public()
834f4e9d1af2 multi-urls: add a boolean suboption that unlock path specification as list
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47184
diff changeset
   520
  with-overwrite:pushurl = http://foo.bar/
834f4e9d1af2 multi-urls: add a boolean suboption that unlock path specification as list
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47184
diff changeset
   521
  with-overwrite = $TESTTMP/chained_path/bar
834f4e9d1af2 multi-urls: add a boolean suboption that unlock path specification as list
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47184
diff changeset
   522
  with-overwrite:multi-urls = yes
834f4e9d1af2 multi-urls: add a boolean suboption that unlock path specification as list
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47184
diff changeset
   523
  with-overwrite:pushrev = public()
834f4e9d1af2 multi-urls: add a boolean suboption that unlock path specification as list
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47184
diff changeset
   524
  with-overwrite = $TESTTMP/chained_path/toto
834f4e9d1af2 multi-urls: add a boolean suboption that unlock path specification as list
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47184
diff changeset
   525
  with-overwrite:multi-urls = yes
834f4e9d1af2 multi-urls: add a boolean suboption that unlock path specification as list
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47184
diff changeset
   526
  with-overwrite:pushrev = public()
834f4e9d1af2 multi-urls: add a boolean suboption that unlock path specification as list
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47184
diff changeset
   527
  with-overwrite:pushurl = http://ta.ta/