tests/test-convert-hg-startrev.out
author Steve Losh <steve@stevelosh.com>
Mon, 12 Apr 2010 19:33:25 -0400
changeset 10960 ca739acf1a98
parent 7815 bcd364b247ba
permissions -rw-r--r--
commands: add more robust support for 'hg log -b' (issue2078) Fixes issue2078 and adds tests to cover various 'hg log -b' uses. This change adds a localrepo.lookupbranch(key, remote=None) function. This will look up the branch of the revision with the given key. The algorithm works like this: * If a remote repo is given and KEY is the name of a branch in that repo, return KEY. * If no remote repo is given and KEY is the name of a branch in the local repo object, return KEY. * Otherwise look up the revision with the identifier KEY in the local repo and return its branch. This change also makes 'hg log -b' use this new functionality and adds a few tests for it.

1 files updated, 0 files merged, 2 files removed, 0 files unresolved
merging a and e to e
2 files updated, 1 files merged, 0 files removed, 0 files unresolved
(branch merge, don't forget to commit)
% convert from null revision
initializing destination empty repository
scanning source...
sorting...
converting...
% convert from zero revision
initializing destination full repository
scanning source...
sorting...
converting...
5 0: add a b
4 1: add c
3 2: copy e from a, change b
2 3: change a
1 4: merge 2 and 3, copy d from b
0 5: change a
o  5 "5: change a" files: a
|
o    4 "4: merge 2 and 3, copy d from b" files: d e
|\
| o  3 "3: change a" files: a
| |
o |  2 "2: copy e from a, change b" files: b e
| |
o |  1 "1: add c" files: c
|/
o  0 "0: add a b" files: a b

% convert from merge parent
initializing destination conv1 repository
scanning source...
sorting...
converting...
3 1: add c
2 2: copy e from a, change b
1 4: merge 2 and 3, copy d from b
0 5: change a
o  3 "5: change a" files: a
|
o  2 "4: merge 2 and 3, copy d from b" files: a d e
|
o  1 "2: copy e from a, change b" files: b e
|
o  0 "1: add c" files: a b c

% check copy preservation
changeset:   2:d67b1d48a835
user:        test
date:        Thu Jan 01 00:00:04 1970 +0000
summary:     4: merge 2 and 3, copy d from b

changeset:   1:462c431cf47d
user:        test
date:        Thu Jan 01 00:00:02 1970 +0000
summary:     2: copy e from a, change b

% check copy removal on missing parent
changeset:   2:d67b1d48a835
user:        test
date:        Thu Jan 01 00:00:04 1970 +0000
summary:     4: merge 2 and 3, copy d from b

a
a
a
b
b
% convert from merge
initializing destination conv4 repository
scanning source...
sorting...
converting...
1 4: merge 2 and 3, copy d from b
0 5: change a
o  1 "5: change a" files: a
|
o  0 "4: merge 2 and 3, copy d from b" files: a b c d e

5 files updated, 0 files merged, 0 files removed, 0 files unresolved
a
a
a
b
b