view tests/test-rebase-collapse.out @ 11775:a8614c5a5e9a

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.
author Martin Geisler <mg@lazybytes.net>
date Thu, 15 Jul 2010 18:10:05 +0200
parents 7a9cf012dddc
children
line wrap: on
line source

@  7: H
|
| o  6: G
|/|
o |  5: F
| |
| o  4: E
|/
| o  3: D
| |
| o  2: C
| |
| o  1: B
|/
o  0: A

% Rebasing B onto H
3 files updated, 0 files merged, 2 files removed, 0 files unresolved
saved backup bundle to 
@  5: Collapsed revision
|  * B
|  * C
|  * D
o  4: H
|
| o  3: G
|/|
o |  2: F
| |
| o  1: E
|/
o  0: A

Expected A, B, C, D, F, H
A
B
C
D
F
H

% Rebasing G onto H
saved backup bundle to 
@  6: Collapsed revision
|  * E
|  * G
o  5: H
|
o  4: F
|
| o  3: D
| |
| o  2: C
| |
| o  1: B
|/
o  0: A

Expected A, E, F, H
A
E
F
H

@  7: H
|
| o    6: G
| |\
| | o  5: F
| | |
| | o  4: E
| | |
| o |  3: D
| |\|
| o |  2: C
|/ /
| o  1: B
|/
o  0: A


% Rebase and collapse - more than one external (fail)
abort: unable to collapse, there is more than one external parent

% Rebase and collapse - E onto H
saved backup bundle to 
@    5: Collapsed revision
|\   * E
| |  * F
| |  * G
| o  4: H
| |
o |    3: D
|\ \
| o |  2: C
| |/
o /  1: B
|/
o  0: A

Expected A, B, C, E, F, H
A
B
C
E
F
H

@  8: I
|
| o    7: H
| |\
| | o  6: G
| | |
| | o  5: F
| | |
| | o  4: E
| | |
| o |  3: D
| |\|
| o |  2: C
|/ /
| o  1: B
|/
o  0: A


% Rebase and collapse - E onto I
merging E
saved backup bundle to 
@    5: Collapsed revision
|\   * E
| |  * F
| |  * G
| |  * H
| o  4: I
| |
o |    3: D
|\ \
| o |  2: C
| |/
o /  1: B
|/
o  0: A

Expected A, B, C, E, G, I
A
B
C
E
G
I
Cat E:
F

@  5: F
|
| o    4: E
| |\
| | o  3: D
| | |
| o |  2: C
| |/
| o  1: B
|/
o  0: A


% Rebase and collapse - B onto F
saved backup bundle to 
@  2: Collapsed revision
|  * B
|  * C
|  * D
|  * E
o  1: F
|
o  0: A

Expected A, B, C, D, F
A
B
C
D
F