##// END OF EJS Templates
subrepos: handle backslashes in subpaths
Martin Geisler -
r11961:f3075ffa default
parent child Browse files
Show More
@@ -50,6 +50,13 b' def state(ctx, ui):'
50 50 kind = kind[1:]
51 51
52 52 for pattern, repl in p.items('subpaths'):
53 # Turn r'C:\foo\bar' into r'C:\\foo\\bar' since re.sub
54 # does a string decode.
55 repl = repl.encode('string-escape')
56 # However, we still want to allow back references to go
57 # through unharmed, so we turn r'\\1' into r'\1'. Again,
58 # extra escapes are needed because re.sub string decodes.
59 repl = re.sub(r'\\\\([0-9]+)', r'\\\1', repl)
53 60 try:
54 61 src = re.sub(pattern, repl, src, 1)
55 62 except re.error, e:
@@ -13,14 +13,12 b' hg debugsub with no remapping'
13 13
14 14 hg debugsub with remapping
15 15
16 $ cat > .hg/hgrc <<EOF
17 > [subpaths]
18 > http://example.net = ssh://localhost
19 > EOF
16 $ echo '[subpaths]' > .hg/hgrc
17 $ echo 'http://example.net/lib(.*) = C:\libs\\1-lib\' >> .hg/hgrc
20 18
21 19 $ hg debugsub
22 20 path sub
23 source ssh://localhost/libfoo
21 source C:\libs\foo-lib\
24 22 revision
25 23
26 24 test bad subpaths pattern
General Comments 0
You need to be logged in to leave comments. Login now