tests/test-paths.t
author Martin von Zweigbergk <martinvonz@google.com>
Tue, 18 Jan 2022 13:05:21 -0800
changeset 49060 f3aafd785e65
parent 47847 cce9e7d2fb92
child 49585 55c6ebd11cb9
permissions -rw-r--r--
filemerge: add support for partial conflict resolution by external tool A common class of merge conflicts is in imports/#includes/etc. It's relatively easy to write a tool that can resolve these conflicts, perhaps by naively just unioning the statements and leaving any cleanup to other tools to do later [1]. Such specialized tools cannot generally resolve all conflicts in a file, of course. Let's therefore call them "partial merge tools". Note that the internal simplemerge algorithm is such a partial merge tool - one that only resolves trivial "conflicts" where one side is unchanged or both sides change in the same way. One can also imagine having smarter language-aware partial tools that merge the AST. It may be useful for such tools to interactively let the user resolve any conflicts it can't resolve itself. However, having the option of implementing it as a partial merge tool means that the developer doesn't *need* to create a UI for it. Instead, the user can resolve any remaining conflicts with their regular merge tool (e.g. `:merge3` or `meld). We don't currently have a way to let the user define such partial merge tools. That's what this patch addresses. It lets the user configure partial merge tools to run. Each tool can be configured to run only on files matching certain patterns (e.g. "*.py"). The tool takes three inputs (local, base, other) and resolves conflicts by updating these in place. For example, let's say the inputs are these: base: ``` import sys def main(): print('Hello') ``` local: ``` import os import sys def main(): print('Hi') ``` other: ``` import re import sys def main(): print('Howdy') ``` A partial merge tool could now resolve the conflicting imports by replacing the import statements in *all* files by the following snippet, while leaving the remainder of the files unchanged. ``` import os import re import sys ``` As a result, simplemerge and any regular merge tool that runs after the partial merge tool(s) will consider the imports to be non-conflicting and will only present the conflict in `main()` to the user. Differential Revision: https://phab.mercurial-scm.org/D12356
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
35400
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
35400
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
35400
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
35400
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
35400
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
35400
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
35400
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",
35400
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",
35400
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",
35400
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'
35400
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'
35400
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"}'
35400
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'
35400
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: 47287
diff changeset
   101
#if windows
e9c5c368be17 run-tests: also catch double-escapes for $TESTTMP
Raphaël Gomès <rgomes@octobus.net>
parents: 47287
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: 47287
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: 47287
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: 47287
diff changeset
   105
#else
47195
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: 47287
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"}'
35400
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
47847
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
cce9e7d2fb92 pyoxidizer: skip for ZeroConf related test for now
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47571
diff changeset
   147
#if no-pyoxidizer
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=
35400
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
35400
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/
47847
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
47287
9cc9b4a25248 urlutil: provide some information about "bad url" when processing `pushurl`
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47284
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: 35400
diff changeset
   234
83b0a5c0dfec path: introduce a `path://` syntax to reference other path name
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 35400
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: 35400
diff changeset
   236
====================================
83b0a5c0dfec path: introduce a `path://` syntax to reference other path name
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 35400
diff changeset
   237
83b0a5c0dfec path: introduce a `path://` syntax to reference other path name
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 35400
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: 35400
diff changeset
   239
-----------
83b0a5c0dfec path: introduce a `path://` syntax to reference other path name
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 35400
diff changeset
   240
83b0a5c0dfec path: introduce a `path://` syntax to reference other path name
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 35400
diff changeset
   241
  $ ls -1
83b0a5c0dfec path: introduce a `path://` syntax to reference other path name
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 35400
diff changeset
   242
  a
83b0a5c0dfec path: introduce a `path://` syntax to reference other path name
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 35400
diff changeset
   243
  b
83b0a5c0dfec path: introduce a `path://` syntax to reference other path name
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 35400
diff changeset
   244
  gpath1
83b0a5c0dfec path: introduce a `path://` syntax to reference other path name
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 35400
diff changeset
   245
  suboptions
83b0a5c0dfec path: introduce a `path://` syntax to reference other path name
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 35400
diff changeset
   246
  $ hg init chained_path
83b0a5c0dfec path: introduce a `path://` syntax to reference other path name
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 35400
diff changeset
   247
  $ cd chained_path
83b0a5c0dfec path: introduce a `path://` syntax to reference other path name
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 35400
diff changeset
   248
  $ cat << EOF > .hg/hgrc
83b0a5c0dfec path: introduce a `path://` syntax to reference other path name
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 35400
diff changeset
   249
  > [paths]
83b0a5c0dfec path: introduce a `path://` syntax to reference other path name
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 35400
diff changeset
   250
  > default=../a
83b0a5c0dfec path: introduce a `path://` syntax to reference other path name
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 35400
diff changeset
   251
  > other_default=path://default
83b0a5c0dfec path: introduce a `path://` syntax to reference other path name
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 35400
diff changeset
   252
  > 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: 35400
diff changeset
   253
  > 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: 35400
diff changeset
   254
  > 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: 35400
diff changeset
   255
  > pushdest=../push-dest
83b0a5c0dfec path: introduce a `path://` syntax to reference other path name
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 35400
diff changeset
   256
  > pushdest:pushrev=default
83b0a5c0dfec path: introduce a `path://` syntax to reference other path name
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 35400
diff changeset
   257
  > pushdest2=path://pushdest
83b0a5c0dfec path: introduce a `path://` syntax to reference other path name
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 35400
diff changeset
   258
  > pushdest-overwrite=path://pushdest
83b0a5c0dfec path: introduce a `path://` syntax to reference other path name
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 35400
diff changeset
   259
  > pushdest-overwrite:pushrev=foo
83b0a5c0dfec path: introduce a `path://` syntax to reference other path name
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 35400
diff changeset
   260
  > EOF
83b0a5c0dfec path: introduce a `path://` syntax to reference other path name
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 35400
diff changeset
   261
83b0a5c0dfec path: introduce a `path://` syntax to reference other path name
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 35400
diff changeset
   262
  $ hg init ../branchy
83b0a5c0dfec path: introduce a `path://` syntax to reference other path name
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 35400
diff changeset
   263
  $ hg init ../push-dest
83b0a5c0dfec path: introduce a `path://` syntax to reference other path name
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 35400
diff changeset
   264
  $ 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: 35400
diff changeset
   265
  $ 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: 35400
diff changeset
   266
  o  foo
83b0a5c0dfec path: introduce a `path://` syntax to reference other path name
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 35400
diff changeset
   267
  |
83b0a5c0dfec path: introduce a `path://` syntax to reference other path name
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 35400
diff changeset
   268
  o  foo
83b0a5c0dfec path: introduce a `path://` syntax to reference other path name
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 35400
diff changeset
   269
  |
83b0a5c0dfec path: introduce a `path://` syntax to reference other path name
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 35400
diff changeset
   270
  o  foo
83b0a5c0dfec path: introduce a `path://` syntax to reference other path name
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 35400
diff changeset
   271
  |
83b0a5c0dfec path: introduce a `path://` syntax to reference other path name
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 35400
diff changeset
   272
  o  foo
83b0a5c0dfec path: introduce a `path://` syntax to reference other path name
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 35400
diff changeset
   273
  |
83b0a5c0dfec path: introduce a `path://` syntax to reference other path name
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 35400
diff changeset
   274
  o  foo
83b0a5c0dfec path: introduce a `path://` syntax to reference other path name
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 35400
diff changeset
   275
  |
83b0a5c0dfec path: introduce a `path://` syntax to reference other path name
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 35400
diff changeset
   276
  | o  default
83b0a5c0dfec path: introduce a `path://` syntax to reference other path name
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 35400
diff changeset
   277
  | |
83b0a5c0dfec path: introduce a `path://` syntax to reference other path name
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 35400
diff changeset
   278
  | o  default
83b0a5c0dfec path: introduce a `path://` syntax to reference other path name
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 35400
diff changeset
   279
  | |
83b0a5c0dfec path: introduce a `path://` syntax to reference other path name
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 35400
diff changeset
   280
  | o  default
83b0a5c0dfec path: introduce a `path://` syntax to reference other path name
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 35400
diff changeset
   281
  |/
83b0a5c0dfec path: introduce a `path://` syntax to reference other path name
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 35400
diff changeset
   282
  o  default
83b0a5c0dfec path: introduce a `path://` syntax to reference other path name
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 35400
diff changeset
   283
  
83b0a5c0dfec path: introduce a `path://` syntax to reference other path name
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 35400
diff changeset
   284
83b0a5c0dfec path: introduce a `path://` syntax to reference other path name
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 35400
diff changeset
   285
  $ hg paths
83b0a5c0dfec path: introduce a `path://` syntax to reference other path name
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 35400
diff changeset
   286
  default = $TESTTMP/a
83b0a5c0dfec path: introduce a `path://` syntax to reference other path name
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 35400
diff changeset
   287
  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: 35400
diff changeset
   288
  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: 35400
diff changeset
   289
  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: 35400
diff changeset
   290
  other_default = $TESTTMP/a
83b0a5c0dfec path: introduce a `path://` syntax to reference other path name
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 35400
diff changeset
   291
  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: 35400
diff changeset
   292
  pushdest = $TESTTMP/push-dest
83b0a5c0dfec path: introduce a `path://` syntax to reference other path name
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 35400
diff changeset
   293
  pushdest:pushrev = default
83b0a5c0dfec path: introduce a `path://` syntax to reference other path name
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 35400
diff changeset
   294
  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: 35400
diff changeset
   295
  pushdest-overwrite:pushrev = foo
83b0a5c0dfec path: introduce a `path://` syntax to reference other path name
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 35400
diff changeset
   296
  pushdest2 = $TESTTMP/push-dest
83b0a5c0dfec path: introduce a `path://` syntax to reference other path name
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 35400
diff changeset
   297
  pushdest2:pushrev = default
83b0a5c0dfec path: introduce a `path://` syntax to reference other path name
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 35400
diff changeset
   298
83b0a5c0dfec path: introduce a `path://` syntax to reference other path name
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 35400
diff changeset
   299
test basic chaining
83b0a5c0dfec path: introduce a `path://` syntax to reference other path name
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 35400
diff changeset
   300
-------------------
83b0a5c0dfec path: introduce a `path://` syntax to reference other path name
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 35400
diff changeset
   301
83b0a5c0dfec path: introduce a `path://` syntax to reference other path name
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 35400
diff changeset
   302
  $ hg path other_default
83b0a5c0dfec path: introduce a `path://` syntax to reference other path name
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 35400
diff changeset
   303
  $TESTTMP/a
83b0a5c0dfec path: introduce a `path://` syntax to reference other path name
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 35400
diff changeset
   304
  $ hg pull default
83b0a5c0dfec path: introduce a `path://` syntax to reference other path name
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 35400
diff changeset
   305
  pulling from $TESTTMP/a
83b0a5c0dfec path: introduce a `path://` syntax to reference other path name
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 35400
diff changeset
   306
  no changes found
83b0a5c0dfec path: introduce a `path://` syntax to reference other path name
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 35400
diff changeset
   307
  $ hg pull other_default
83b0a5c0dfec path: introduce a `path://` syntax to reference other path name
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 35400
diff changeset
   308
  pulling from $TESTTMP/a
83b0a5c0dfec path: introduce a `path://` syntax to reference other path name
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 35400
diff changeset
   309
  no changes found
83b0a5c0dfec path: introduce a `path://` syntax to reference other path name
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 35400
diff changeset
   310
83b0a5c0dfec path: introduce a `path://` syntax to reference other path name
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 35400
diff changeset
   311
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: 35400
diff changeset
   312
--------------------------------------
83b0a5c0dfec path: introduce a `path://` syntax to reference other path name
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 35400
diff changeset
   313
83b0a5c0dfec path: introduce a `path://` syntax to reference other path name
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 35400
diff changeset
   314
  $ 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: 35400
diff changeset
   315
  pulling from $TESTTMP/branchy
83b0a5c0dfec path: introduce a `path://` syntax to reference other path name
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 35400
diff changeset
   316
  adding changesets
83b0a5c0dfec path: introduce a `path://` syntax to reference other path name
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 35400
diff changeset
   317
  adding manifests
83b0a5c0dfec path: introduce a `path://` syntax to reference other path name
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 35400
diff changeset
   318
  adding file changes
83b0a5c0dfec path: introduce a `path://` syntax to reference other path name
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 35400
diff changeset
   319
  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: 35400
diff changeset
   320
  new changesets 1ea73414a91b:bcebb50b77de
83b0a5c0dfec path: introduce a `path://` syntax to reference other path name
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 35400
diff changeset
   321
  (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: 35400
diff changeset
   322
  $ hg pull other_branch
83b0a5c0dfec path: introduce a `path://` syntax to reference other path name
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 35400
diff changeset
   323
  pulling from $TESTTMP/branchy
83b0a5c0dfec path: introduce a `path://` syntax to reference other path name
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 35400
diff changeset
   324
  no changes found
83b0a5c0dfec path: introduce a `path://` syntax to reference other path name
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 35400
diff changeset
   325
  $ hg pull other_branched
83b0a5c0dfec path: introduce a `path://` syntax to reference other path name
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 35400
diff changeset
   326
  pulling from $TESTTMP/branchy
83b0a5c0dfec path: introduce a `path://` syntax to reference other path name
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 35400
diff changeset
   327
  searching for changes
83b0a5c0dfec path: introduce a `path://` syntax to reference other path name
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 35400
diff changeset
   328
  adding changesets
83b0a5c0dfec path: introduce a `path://` syntax to reference other path name
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 35400
diff changeset
   329
  adding manifests
83b0a5c0dfec path: introduce a `path://` syntax to reference other path name
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 35400
diff changeset
   330
  adding file changes
83b0a5c0dfec path: introduce a `path://` syntax to reference other path name
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 35400
diff changeset
   331
  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: 35400
diff changeset
   332
  new changesets 66f7d451a68b:2dc09a01254d
83b0a5c0dfec path: introduce a `path://` syntax to reference other path name
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 35400
diff changeset
   333
  (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: 35400
diff changeset
   334
83b0a5c0dfec path: introduce a `path://` syntax to reference other path name
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 35400
diff changeset
   335
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: 35400
diff changeset
   336
----------------------------------
83b0a5c0dfec path: introduce a `path://` syntax to reference other path name
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 35400
diff changeset
   337
83b0a5c0dfec path: introduce a `path://` syntax to reference other path name
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 35400
diff changeset
   338
  $ hg push pushdest
83b0a5c0dfec path: introduce a `path://` syntax to reference other path name
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 35400
diff changeset
   339
  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: 35400
diff changeset
   340
  searching for changes
83b0a5c0dfec path: introduce a `path://` syntax to reference other path name
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 35400
diff changeset
   341
  adding changesets
83b0a5c0dfec path: introduce a `path://` syntax to reference other path name
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 35400
diff changeset
   342
  adding manifests
83b0a5c0dfec path: introduce a `path://` syntax to reference other path name
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 35400
diff changeset
   343
  adding file changes
83b0a5c0dfec path: introduce a `path://` syntax to reference other path name
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 35400
diff changeset
   344
  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: 35400
diff changeset
   345
  $ hg push pushdest2
83b0a5c0dfec path: introduce a `path://` syntax to reference other path name
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 35400
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: 35400
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: 35400
diff changeset
   348
  no changes found
83b0a5c0dfec path: introduce a `path://` syntax to reference other path name
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 35400
diff changeset
   349
  [1]
83b0a5c0dfec path: introduce a `path://` syntax to reference other path name
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 35400
diff changeset
   350
  $ 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: 35400
diff changeset
   351
  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: 35400
diff changeset
   352
  searching for changes
83b0a5c0dfec path: introduce a `path://` syntax to reference other path name
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 35400
diff changeset
   353
  adding changesets
83b0a5c0dfec path: introduce a `path://` syntax to reference other path name
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 35400
diff changeset
   354
  adding manifests
83b0a5c0dfec path: introduce a `path://` syntax to reference other path name
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 35400
diff changeset
   355
  adding file changes
83b0a5c0dfec path: introduce a `path://` syntax to reference other path name
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 35400
diff changeset
   356
  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
   357
1ecf082386b7 path: forbid chaining `path://` definitions
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46826
diff changeset
   358
Test chaining path:// definition
1ecf082386b7 path: forbid chaining `path://` definitions
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46826
diff changeset
   359
--------------------------------
1ecf082386b7 path: forbid chaining `path://` definitions
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46826
diff changeset
   360
1ecf082386b7 path: forbid chaining `path://` definitions
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46826
diff changeset
   361
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
   362
dependency detection.
1ecf082386b7 path: forbid chaining `path://` definitions
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46826
diff changeset
   363
1ecf082386b7 path: forbid chaining `path://` definitions
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46826
diff changeset
   364
  $ cat << EOF >> .hg/hgrc
1ecf082386b7 path: forbid chaining `path://` definitions
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46826
diff changeset
   365
  > chain_path=path://other_default
1ecf082386b7 path: forbid chaining `path://` definitions
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46826
diff changeset
   366
  > EOF
1ecf082386b7 path: forbid chaining `path://` definitions
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46826
diff changeset
   367
1ecf082386b7 path: forbid chaining `path://` definitions
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46826
diff changeset
   368
  $ hg id
1ecf082386b7 path: forbid chaining `path://` definitions
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46826
diff changeset
   369
  000000000000
1ecf082386b7 path: forbid chaining `path://` definitions
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46826
diff changeset
   370
  $ hg path
46928
93c224dc099b urlutil: use bytes for Abort messages
Matt Harbison <matt_harbison@yahoo.com>
parents: 46828
diff changeset
   371
  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
   372
  [255]
1ecf082386b7 path: forbid chaining `path://` definitions
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46826
diff changeset
   373
  $ hg pull chain_path
46928
93c224dc099b urlutil: use bytes for Abort messages
Matt Harbison <matt_harbison@yahoo.com>
parents: 46828
diff changeset
   374
  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
   375
  [255]
1ecf082386b7 path: forbid chaining `path://` definitions
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46826
diff changeset
   376
1ecf082386b7 path: forbid chaining `path://` definitions
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46826
diff changeset
   377
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
   378
1ecf082386b7 path: forbid chaining `path://` definitions
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46826
diff changeset
   379
  $ cat << EOF >> .hg/hgrc
1ecf082386b7 path: forbid chaining `path://` definitions
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46826
diff changeset
   380
  > rock=path://cissors
1ecf082386b7 path: forbid chaining `path://` definitions
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46826
diff changeset
   381
  > cissors=path://paper
1ecf082386b7 path: forbid chaining `path://` definitions
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46826
diff changeset
   382
  > paper=://rock
1ecf082386b7 path: forbid chaining `path://` definitions
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46826
diff changeset
   383
  > EOF
1ecf082386b7 path: forbid chaining `path://` definitions
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46826
diff changeset
   384
1ecf082386b7 path: forbid chaining `path://` definitions
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46826
diff changeset
   385
  $ hg id
1ecf082386b7 path: forbid chaining `path://` definitions
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46826
diff changeset
   386
  000000000000
1ecf082386b7 path: forbid chaining `path://` definitions
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46826
diff changeset
   387
  $ hg path
46928
93c224dc099b urlutil: use bytes for Abort messages
Matt Harbison <matt_harbison@yahoo.com>
parents: 46828
diff changeset
   388
  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
   389
  [255]
1ecf082386b7 path: forbid chaining `path://` definitions
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46826
diff changeset
   390
  $ hg pull chain_path
46928
93c224dc099b urlutil: use bytes for Abort messages
Matt Harbison <matt_harbison@yahoo.com>
parents: 46828
diff changeset
   391
  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
   392
  [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
   393
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
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
   395
----------------------
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
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
  $ 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
   398
  > [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
   399
  > 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
   400
  > 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
   401
  $ 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
   402
  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
   403
  [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
   404
  $ 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
   405
  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
   406
  [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
   407
47284
834f4e9d1af2 multi-urls: add a boolean suboption that unlock path specification as list
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47195
diff changeset
   408
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: 47195
diff changeset
   409
===================================
834f4e9d1af2 multi-urls: add a boolean suboption that unlock path specification as list
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47195
diff changeset
   410
834f4e9d1af2 multi-urls: add a boolean suboption that unlock path specification as list
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47195
diff changeset
   411
Simple cases
834f4e9d1af2 multi-urls: add a boolean suboption that unlock path specification as list
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47195
diff changeset
   412
------------
834f4e9d1af2 multi-urls: add a boolean suboption that unlock path specification as list
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47195
diff changeset
   413
- one layer
834f4e9d1af2 multi-urls: add a boolean suboption that unlock path specification as list
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47195
diff changeset
   414
- one list
834f4e9d1af2 multi-urls: add a boolean suboption that unlock path specification as list
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47195
diff changeset
   415
- 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: 47195
diff changeset
   416
834f4e9d1af2 multi-urls: add a boolean suboption that unlock path specification as list
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47195
diff changeset
   417
  $ 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: 47195
diff changeset
   418
  > [paths]
834f4e9d1af2 multi-urls: add a boolean suboption that unlock path specification as list
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47195
diff changeset
   419
  > 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: 47195
diff changeset
   420
  > 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: 47195
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: 47195
diff changeset
   422
  > EOF
834f4e9d1af2 multi-urls: add a boolean suboption that unlock path specification as list
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47195
diff changeset
   423
  $ hg path
834f4e9d1af2 multi-urls: add a boolean suboption that unlock path specification as list
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47195
diff changeset
   424
  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: 47195
diff changeset
   425
  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: 47195
diff changeset
   426
  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: 47195
diff changeset
   427
  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: 47195
diff changeset
   428
  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: 47195
diff changeset
   429
  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: 47195
diff changeset
   430
  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: 47195
diff changeset
   431
  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: 47195
diff changeset
   432
  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: 47195
diff changeset
   433
  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: 47195
diff changeset
   434
834f4e9d1af2 multi-urls: add a boolean suboption that unlock path specification as list
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47195
diff changeset
   435
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: 47195
diff changeset
   436
-------------------
834f4e9d1af2 multi-urls: add a boolean suboption that unlock path specification as list
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47195
diff changeset
   437
834f4e9d1af2 multi-urls: add a boolean suboption that unlock path specification as list
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47195
diff changeset
   438
  $ 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: 47195
diff changeset
   439
  > 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: 47195
diff changeset
   440
  > EOF
834f4e9d1af2 multi-urls: add a boolean suboption that unlock path specification as list
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47195
diff changeset
   441
  $ 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: 47195
diff changeset
   442
  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: 47195
diff changeset
   443
  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: 47195
diff changeset
   444
  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: 47195
diff changeset
   445
  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: 47195
diff changeset
   446
  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: 47195
diff changeset
   447
  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: 47195
diff changeset
   448
  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: 47195
diff changeset
   449
  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: 47195
diff changeset
   450
834f4e9d1af2 multi-urls: add a boolean suboption that unlock path specification as list
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47195
diff changeset
   451
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: 47195
diff changeset
   452
---------------------
834f4e9d1af2 multi-urls: add a boolean suboption that unlock path specification as list
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47195
diff changeset
   453
834f4e9d1af2 multi-urls: add a boolean suboption that unlock path specification as list
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47195
diff changeset
   454
  $ 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: 47195
diff changeset
   455
  > 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: 47195
diff changeset
   456
  > 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: 47195
diff changeset
   457
  > EOF
834f4e9d1af2 multi-urls: add a boolean suboption that unlock path specification as list
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47195
diff changeset
   458
  $ 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: 47195
diff changeset
   459
  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: 47195
diff changeset
   460
  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: 47195
diff changeset
   461
  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: 47195
diff changeset
   462
  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: 47195
diff changeset
   463
834f4e9d1af2 multi-urls: add a boolean suboption that unlock path specification as list
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47195
diff changeset
   464
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: 47195
diff changeset
   465
-------------------------------
834f4e9d1af2 multi-urls: add a boolean suboption that unlock path specification as list
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47195
diff changeset
   466
834f4e9d1af2 multi-urls: add a boolean suboption that unlock path specification as list
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47195
diff changeset
   467
  $ 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: 47195
diff changeset
   468
  > 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: 47195
diff changeset
   469
  > 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: 47195
diff changeset
   470
  > EOF
834f4e9d1af2 multi-urls: add a boolean suboption that unlock path specification as list
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47195
diff changeset
   471
  $ 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: 47195
diff changeset
   472
  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: 47195
diff changeset
   473
  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: 47195
diff changeset
   474
  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: 47195
diff changeset
   475
  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: 47195
diff changeset
   476
  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: 47195
diff changeset
   477
  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: 47195
diff changeset
   478
  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: 47195
diff changeset
   479
  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: 47195
diff changeset
   480
  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: 47195
diff changeset
   481
  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: 47195
diff changeset
   482
834f4e9d1af2 multi-urls: add a boolean suboption that unlock path specification as list
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47195
diff changeset
   483
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: 47195
diff changeset
   484
-----------------------------------
834f4e9d1af2 multi-urls: add a boolean suboption that unlock path specification as list
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47195
diff changeset
   485
834f4e9d1af2 multi-urls: add a boolean suboption that unlock path specification as list
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47195
diff changeset
   486
  $ 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: 47195
diff changeset
   487
  > 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: 47195
diff changeset
   488
  > 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: 47195
diff changeset
   489
  > 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: 47195
diff changeset
   490
  > 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: 47195
diff changeset
   491
  > 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: 47195
diff changeset
   492
  > 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: 47195
diff changeset
   493
  > 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: 47195
diff changeset
   494
  > 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: 47195
diff changeset
   495
  > 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: 47195
diff changeset
   496
  > 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: 47195
diff changeset
   497
  > 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: 47195
diff changeset
   498
  > 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: 47195
diff changeset
   499
  > EOF
834f4e9d1af2 multi-urls: add a boolean suboption that unlock path specification as list
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47195
diff changeset
   500
  $ 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: 47195
diff changeset
   501
  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: 47195
diff changeset
   502
  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: 47195
diff changeset
   503
  $ 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: 47195
diff changeset
   504
  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: 47195
diff changeset
   505
  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: 47195
diff changeset
   506
  $ 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: 47195
diff changeset
   507
  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: 47195
diff changeset
   508
  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: 47195
diff changeset
   509
  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: 47195
diff changeset
   510
  $ 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: 47195
diff changeset
   511
  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: 47195
diff changeset
   512
  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: 47195
diff changeset
   513
  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: 47195
diff changeset
   514
  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: 47195
diff changeset
   515
  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: 47195
diff changeset
   516
  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: 47195
diff changeset
   517
  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: 47195
diff changeset
   518
  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: 47195
diff changeset
   519
  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: 47195
diff changeset
   520
  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: 47195
diff changeset
   521
  $ 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: 47195
diff changeset
   522
  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: 47195
diff changeset
   523
  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: 47195
diff changeset
   524
  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: 47195
diff changeset
   525
  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: 47195
diff changeset
   526
  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: 47195
diff changeset
   527
  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: 47195
diff changeset
   528
  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: 47195
diff changeset
   529
  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: 47195
diff changeset
   530
  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: 47195
diff changeset
   531
  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: 47195
diff changeset
   532
  with-overwrite:pushurl = http://ta.ta/