tests/test-subrepo-paths.t
author Jun Wu <quark@fb.com>
Mon, 10 Jul 2017 10:56:40 -0700
changeset 33377 5d63e5f40bea
parent 19380 ee07f9d142c9
child 35393 4441705b7111
permissions -rw-r--r--
revset: define successors revset This revset returns all successors, including transit nodes and the source nodes (to be consistent with existing revsets like "ancestors"). To filter out transit nodes, use `successors(X)-obsolete()`. To filter out divergent case, use `successors(X)-divergent()-obsolete()`. The revset could be useful to define rebase destination, like: `max(successors(BASE)-divergent()-obsolete())`. The `max` is to deal with splits. There are other implementations where `successors` returns just one level of successors, and `allsuccessors` returns everything. I think `successors` returning all successors by default is more user friendly. We have seen cases in production where people use 1-level `successors` while they really want `allsuccessors`. So it seems better to just have one single revset returning all successors by default to avoid user errors. In the future we might want to add `depth` keyword argument to it and for other revsets like `ancestors` etc. Or even build some flexible indexing syntax [1] to satisfy people having the depth limit requirement. [1]: https://www.mercurial-scm.org/pipermail/mercurial-devel/2017-July/101140.html
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
11914
e31e5eb8736c tests: unify test-subrepo-paths
Martin Geisler <mg@lazybytes.net>
parents: 11775
diff changeset
     1
  $ hg init outer
e31e5eb8736c tests: unify test-subrepo-paths
Martin Geisler <mg@lazybytes.net>
parents: 11775
diff changeset
     2
  $ cd outer
11775
a8614c5a5e9a subrepos: support remapping of .hgsub source paths
Martin Geisler <mg@lazybytes.net>
parents:
diff changeset
     3
15150
91dc8878f888 subrepo: try remapping subpaths using the "final" path
Martin Geisler <mg@aragost.com>
parents: 13582
diff changeset
     4
  $ echo '[paths]' >> .hg/hgrc
91dc8878f888 subrepo: try remapping subpaths using the "final" path
Martin Geisler <mg@aragost.com>
parents: 13582
diff changeset
     5
  $ echo 'default = http://example.net/' >> .hg/hgrc
91dc8878f888 subrepo: try remapping subpaths using the "final" path
Martin Geisler <mg@aragost.com>
parents: 13582
diff changeset
     6
11959
be33381882ad test-subrepo-paths: moved comment lines to where they belong
Martin Geisler <mg@lazybytes.net>
parents: 11914
diff changeset
     7
hg debugsub with no remapping
be33381882ad test-subrepo-paths: moved comment lines to where they belong
Martin Geisler <mg@lazybytes.net>
parents: 11914
diff changeset
     8
15150
91dc8878f888 subrepo: try remapping subpaths using the "final" path
Martin Geisler <mg@aragost.com>
parents: 13582
diff changeset
     9
  $ echo 'sub = libfoo' > .hgsub
11914
e31e5eb8736c tests: unify test-subrepo-paths
Martin Geisler <mg@lazybytes.net>
parents: 11775
diff changeset
    10
  $ hg add .hgsub
e31e5eb8736c tests: unify test-subrepo-paths
Martin Geisler <mg@lazybytes.net>
parents: 11775
diff changeset
    11
e31e5eb8736c tests: unify test-subrepo-paths
Martin Geisler <mg@lazybytes.net>
parents: 11775
diff changeset
    12
  $ hg debugsub
e31e5eb8736c tests: unify test-subrepo-paths
Martin Geisler <mg@lazybytes.net>
parents: 11775
diff changeset
    13
  path sub
15150
91dc8878f888 subrepo: try remapping subpaths using the "final" path
Martin Geisler <mg@aragost.com>
parents: 13582
diff changeset
    14
   source   libfoo
11914
e31e5eb8736c tests: unify test-subrepo-paths
Martin Geisler <mg@lazybytes.net>
parents: 11775
diff changeset
    15
   revision 
11775
a8614c5a5e9a subrepos: support remapping of .hgsub source paths
Martin Geisler <mg@lazybytes.net>
parents:
diff changeset
    16
11959
be33381882ad test-subrepo-paths: moved comment lines to where they belong
Martin Geisler <mg@lazybytes.net>
parents: 11914
diff changeset
    17
hg debugsub with remapping
be33381882ad test-subrepo-paths: moved comment lines to where they belong
Martin Geisler <mg@lazybytes.net>
parents: 11914
diff changeset
    18
15150
91dc8878f888 subrepo: try remapping subpaths using the "final" path
Martin Geisler <mg@aragost.com>
parents: 13582
diff changeset
    19
  $ echo '[subpaths]' >> .hg/hgrc
19380
ee07f9d142c9 check-code: do not warn on printf \\x or \\[1-9]
Simon Heimberg <simohe@besonet.ch>
parents: 16913
diff changeset
    20
  $ printf 'http://example.net/lib(.*) = C:\\libs\\\\1-lib\\\n' >> .hg/hgrc
11775
a8614c5a5e9a subrepos: support remapping of .hgsub source paths
Martin Geisler <mg@lazybytes.net>
parents:
diff changeset
    21
11914
e31e5eb8736c tests: unify test-subrepo-paths
Martin Geisler <mg@lazybytes.net>
parents: 11775
diff changeset
    22
  $ hg debugsub
e31e5eb8736c tests: unify test-subrepo-paths
Martin Geisler <mg@lazybytes.net>
parents: 11775
diff changeset
    23
  path sub
11961
f3075ffa6b30 subrepos: handle backslashes in subpaths
Martin Geisler <mg@lazybytes.net>
parents: 11959
diff changeset
    24
   source   C:\libs\foo-lib\
11914
e31e5eb8736c tests: unify test-subrepo-paths
Martin Geisler <mg@lazybytes.net>
parents: 11775
diff changeset
    25
   revision 
e31e5eb8736c tests: unify test-subrepo-paths
Martin Geisler <mg@lazybytes.net>
parents: 11775
diff changeset
    26
13582
4f5b269f4ce6 test-subrepo-paths: fix typo
Martin Geisler <mg@lazybytes.net>
parents: 13578
diff changeset
    27
test cumulative remapping, the $HGRCPATH file is loaded first
13578
e720b3324e35 test-subrepo-paths: test cummulative remapping
Martin Geisler <mg@aragost.com>
parents: 12640
diff changeset
    28
e720b3324e35 test-subrepo-paths: test cummulative remapping
Martin Geisler <mg@aragost.com>
parents: 12640
diff changeset
    29
  $ echo '[subpaths]' >> $HGRCPATH
e720b3324e35 test-subrepo-paths: test cummulative remapping
Martin Geisler <mg@aragost.com>
parents: 12640
diff changeset
    30
  $ echo 'libfoo = libbar' >> $HGRCPATH
e720b3324e35 test-subrepo-paths: test cummulative remapping
Martin Geisler <mg@aragost.com>
parents: 12640
diff changeset
    31
  $ hg debugsub
e720b3324e35 test-subrepo-paths: test cummulative remapping
Martin Geisler <mg@aragost.com>
parents: 12640
diff changeset
    32
  path sub
e720b3324e35 test-subrepo-paths: test cummulative remapping
Martin Geisler <mg@aragost.com>
parents: 12640
diff changeset
    33
   source   C:\libs\bar-lib\
e720b3324e35 test-subrepo-paths: test cummulative remapping
Martin Geisler <mg@aragost.com>
parents: 12640
diff changeset
    34
   revision 
e720b3324e35 test-subrepo-paths: test cummulative remapping
Martin Geisler <mg@aragost.com>
parents: 12640
diff changeset
    35
15150
91dc8878f888 subrepo: try remapping subpaths using the "final" path
Martin Geisler <mg@aragost.com>
parents: 13582
diff changeset
    36
test absolute source path -- testing with a URL is important since
91dc8878f888 subrepo: try remapping subpaths using the "final" path
Martin Geisler <mg@aragost.com>
parents: 13582
diff changeset
    37
standard os.path.join wont treat that as an absolute path
91dc8878f888 subrepo: try remapping subpaths using the "final" path
Martin Geisler <mg@aragost.com>
parents: 13582
diff changeset
    38
91dc8878f888 subrepo: try remapping subpaths using the "final" path
Martin Geisler <mg@aragost.com>
parents: 13582
diff changeset
    39
  $ echo 'abs = http://example.net/abs' > .hgsub
91dc8878f888 subrepo: try remapping subpaths using the "final" path
Martin Geisler <mg@aragost.com>
parents: 13582
diff changeset
    40
  $ hg debugsub
91dc8878f888 subrepo: try remapping subpaths using the "final" path
Martin Geisler <mg@aragost.com>
parents: 13582
diff changeset
    41
  path abs
91dc8878f888 subrepo: try remapping subpaths using the "final" path
Martin Geisler <mg@aragost.com>
parents: 13582
diff changeset
    42
   source   http://example.net/abs
91dc8878f888 subrepo: try remapping subpaths using the "final" path
Martin Geisler <mg@aragost.com>
parents: 13582
diff changeset
    43
   revision 
91dc8878f888 subrepo: try remapping subpaths using the "final" path
Martin Geisler <mg@aragost.com>
parents: 13582
diff changeset
    44
91dc8878f888 subrepo: try remapping subpaths using the "final" path
Martin Geisler <mg@aragost.com>
parents: 13582
diff changeset
    45
  $ echo 'abs = /abs' > .hgsub
91dc8878f888 subrepo: try remapping subpaths using the "final" path
Martin Geisler <mg@aragost.com>
parents: 13582
diff changeset
    46
  $ hg debugsub
91dc8878f888 subrepo: try remapping subpaths using the "final" path
Martin Geisler <mg@aragost.com>
parents: 13582
diff changeset
    47
  path abs
91dc8878f888 subrepo: try remapping subpaths using the "final" path
Martin Geisler <mg@aragost.com>
parents: 13582
diff changeset
    48
   source   /abs
91dc8878f888 subrepo: try remapping subpaths using the "final" path
Martin Geisler <mg@aragost.com>
parents: 13582
diff changeset
    49
   revision 
91dc8878f888 subrepo: try remapping subpaths using the "final" path
Martin Geisler <mg@aragost.com>
parents: 13582
diff changeset
    50
11914
e31e5eb8736c tests: unify test-subrepo-paths
Martin Geisler <mg@lazybytes.net>
parents: 11775
diff changeset
    51
test bad subpaths pattern
11775
a8614c5a5e9a subrepos: support remapping of .hgsub source paths
Martin Geisler <mg@lazybytes.net>
parents:
diff changeset
    52
11914
e31e5eb8736c tests: unify test-subrepo-paths
Martin Geisler <mg@lazybytes.net>
parents: 11775
diff changeset
    53
  $ cat > .hg/hgrc <<EOF
e31e5eb8736c tests: unify test-subrepo-paths
Martin Geisler <mg@lazybytes.net>
parents: 11775
diff changeset
    54
  > [subpaths]
e31e5eb8736c tests: unify test-subrepo-paths
Martin Geisler <mg@lazybytes.net>
parents: 11775
diff changeset
    55
  > .* = \1
e31e5eb8736c tests: unify test-subrepo-paths
Martin Geisler <mg@lazybytes.net>
parents: 11775
diff changeset
    56
  > EOF
e31e5eb8736c tests: unify test-subrepo-paths
Martin Geisler <mg@lazybytes.net>
parents: 11775
diff changeset
    57
  $ hg debugsub
15447
9910f60a37ee tests: make (glob) on windows accept \ instead of /
Mads Kiilerich <mads@kiilerich.com>
parents: 15150
diff changeset
    58
  abort: bad subrepository pattern in $TESTTMP/outer/.hg/hgrc:2: invalid group reference (glob)
12316
4134686b83e1 tests: add exit codes to unified tests
Matt Mackall <mpm@selenic.com>
parents: 11964
diff changeset
    59
  [255]
16913
f2719b387380 tests: add missing trailing 'cd ..'
Mads Kiilerich <mads@kiilerich.com>
parents: 16098
diff changeset
    60
f2719b387380 tests: add missing trailing 'cd ..'
Mads Kiilerich <mads@kiilerich.com>
parents: 16098
diff changeset
    61
  $ cd ..