##// END OF EJS Templates
subrepos: support remapping of .hgsub source paths...
subrepos: support remapping of .hgsub source paths Given a .hgsub file containing lib/libfoo = http://server/libfoo the 'lib/libfoo' subrepo will be cloned from 'http://server/libfoo'. This changeset introduces a remapping mechanism whereby the source paths (the right-hand sides) in the .hgsub file can be remapped. This subpaths section [subpaths] http://server = /local will result in the 'lib/libfoo' subrepo being cloned from '/local/libfoo' instead of from 'http://server/libfoo'. The patterns (left-hand sides) are really regular expressions and the replacement strings (right-hand sides) can refer to matched groups using normal backreferences. This can be used for more complicated replacements such as [subpaths] http://server/(.*)-hg/ = http://hg.server/\1/ which replaces 'http://server/foo-hg/' with 'http://hg.server/foo/'. All patterns are applied in the order by which they are listed in the config files.

File last commit:

r11775:a8614c5a default
r11775:a8614c5a default
Show More
test-subrepo-paths.out
10 lines | 302 B | text/plain | TextLexer
/ tests / test-subrepo-paths.out
% hg debugsub with no remapping
path sub
source http://example.net/libfoo
revision
% hg debugsub with remapping
path sub
source ssh://localhost/libfoo
revision
% test bad subpaths pattern
abort: bad subrepository pattern in $HGTMP/test-subrepo-paths/outer/.hg/hgrc:2: invalid group reference