tests/test-subrepo-paths.t
author Martin Geisler <mg@aragost.com>
Thu, 22 Sep 2011 15:15:18 +0200
changeset 15150 91dc8878f888
parent 13582 4f5b269f4ce6
child 15447 9910f60a37ee
permissions -rw-r--r--
subrepo: try remapping subpaths using the "final" path Before, the right-hand side of a .hgsub entry was used, as is, to match the left-hand side of a subpaths entry. This turned out to be less useful than expected since a .hgsub file with src/foo = src/foo has little context to do remapping on. The new idea is therefore to prefix the parent repo path *before* the remapping takes place. If the parent repository path (as defined by _abssource) is http://example.net/parent then the remapping for the above .hgsub entry will be done on the expanded path: http://example.net/parent/src/foo If this expanded path is not changed by the remapping, then we remap src/foo alone. This is the old behavior where the right-hand side is remapped without context.
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
11964
79bd860b8eb7 test-subrepo-paths: use printf instead of echo
Martin Geisler <mg@lazybytes.net>
parents: 11961
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
12640
6cc4b14fb76b tests: remove redundant globs
Mads Kiilerich <mads@kiilerich.com>
parents: 12587
diff changeset
    58
  abort: bad subrepository pattern in $TESTTMP/outer/.hg/hgrc:2: invalid group reference
12316
4134686b83e1 tests: add exit codes to unified tests
Matt Mackall <mpm@selenic.com>
parents: 11964
diff changeset
    59
  [255]