tests/test-convert-filemap.out
author Peter Arrenbrecht <peter.arrenbrecht@gmail.com>
Thu, 08 Apr 2010 17:21:42 +0200
changeset 10877 dc097666de01
parent 10490 f2618cacb485
child 11680 7fefef3ce791
permissions -rw-r--r--
localrepo: refactor prepush logic Simplifies the prepush check logic and makes it a lot more direct and comprehensible. Instead of comparing the total local vs. remote head count, it compares the number of new vs. removed heads.

created new head
created new head
@  8 "8: change foo" files: foo
|
o    7 "7: second merge; change bar" files: bar baz
|\
| o  6 "6: change foo baz" files: baz foo
| |
o |  5 "5: change bar baz quux" files: bar baz quux
|/
o    4 "4: first merge; change bar baz" files: bar baz
|\
| o  3 "3: change bar quux" files: bar quux
| |
o |  2 "2: change foo" files: foo
|/
o  1 "1: add bar quux; copy foo to copied" files: bar copied quux
|
o  0 "0: add foo baz dir/" files: baz dir/file dir/file2 dir/subdir/file3 dir/subdir/file4 foo

% final file versions in this repo:
9463f52fe115e377cf2878d4fc548117211063f2 644   bar
94c1be4dfde2ee8d78db8bbfcf81210813307c3d 644   baz
7711d36246cc83e61fb29cd6d4ef394c63f1ceaf 644   copied
3e20847584beff41d7cd16136b7331ab3d754be0 644   dir/file
75e6d3f8328f5f6ace6bf10b98df793416a09dca 644   dir/file2
5fe139720576e18e34bcc9f79174db8897c8afe9 644   dir/subdir/file3
57a1c1511590f3de52874adfa04effe8a77d64af 644   dir/subdir/file4
9a7b52012991e4873687192c3e17e61ba3e837a3 644   foo
bc3eca3f47023a3e70ca0d8cc95a22a6827db19d 644   quux
copied renamed from foo:2ed2a3912a0b24502043eae84ee4b279c18b90dd

% foo: skip unwanted merges; use 1st parent in 1st merge, 2nd in 2nd
@  3 "8: change foo" files: foo
|
o  2 "6: change foo baz" files: foo
|
o  1 "2: change foo" files: foo
|
o  0 "0: add foo baz dir/" files: foo

9a7b52012991e4873687192c3e17e61ba3e837a3 644   foo
% bar: merges are not merges anymore
@  4 "7: second merge; change bar" files: bar
|
o  3 "5: change bar baz quux" files: bar
|
o  2 "4: first merge; change bar baz" files: bar
|
o  1 "3: change bar quux" files: bar
|
o  0 "1: add bar quux; copy foo to copied" files: bar

9463f52fe115e377cf2878d4fc548117211063f2 644   bar
% baz: 1st merge is not a merge anymore; 2nd still is
@    4 "7: second merge; change bar" files: baz
|\
| o  3 "6: change foo baz" files: baz
| |
o |  2 "5: change bar baz quux" files: baz
|/
o  1 "4: first merge; change bar baz" files: baz
|
o  0 "0: add foo baz dir/" files: baz

94c1be4dfde2ee8d78db8bbfcf81210813307c3d 644   baz
% foo quux: we add additional merges when they are interesting
@  8 "8: change foo" files: foo
|
o    7 "7: second merge; change bar" files:
|\
| o  6 "6: change foo baz" files: foo
| |
o |  5 "5: change bar baz quux" files: quux
|/
o    4 "4: first merge; change bar baz" files:
|\
| o  3 "3: change bar quux" files: quux
| |
o |  2 "2: change foo" files: foo
|/
o  1 "1: add bar quux; copy foo to copied" files: quux
|
o  0 "0: add foo baz dir/" files: foo

9a7b52012991e4873687192c3e17e61ba3e837a3 644   foo
bc3eca3f47023a3e70ca0d8cc95a22a6827db19d 644   quux
% bar quux: partial conversion
@  1 "3: change bar quux" files: bar quux
|
o  0 "1: add bar quux; copy foo to copied" files: bar quux

b79105bedc55102f394e90a789c9c380117c1b4a 644   bar
db0421cc6b685a458c8d86c7d5c004f94429ea23 644   quux
% bar quux: complete the partial conversion
@  4 "7: second merge; change bar" files: bar
|
o  3 "5: change bar baz quux" files: bar quux
|
o  2 "4: first merge; change bar baz" files: bar
|
o  1 "3: change bar quux" files: bar quux
|
o  0 "1: add bar quux; copy foo to copied" files: bar quux

9463f52fe115e377cf2878d4fc548117211063f2 644   bar
bc3eca3f47023a3e70ca0d8cc95a22a6827db19d 644   quux
% foo: partial conversion
@  0 "0: add foo baz dir/" files: foo

2ed2a3912a0b24502043eae84ee4b279c18b90dd 644   foo
% foo: complete the partial conversion
@  3 "8: change foo" files: foo
|
o  2 "6: change foo baz" files: foo
|
o  1 "2: change foo" files: foo
|
o  0 "0: add foo baz dir/" files: foo

9a7b52012991e4873687192c3e17e61ba3e837a3 644   foo
% copied: copied file; source not included in new repo
@  0 "1: add bar quux; copy foo to copied" files: copied

2ed2a3912a0b24502043eae84ee4b279c18b90dd 644   copied
copied not renamed
% foo copied: copied file; source included in new repo
@  4 "8: change foo" files: foo
|
o  3 "6: change foo baz" files: foo
|
o  2 "2: change foo" files: foo
|
o  1 "1: add bar quux; copy foo to copied" files: copied
|
o  0 "0: add foo baz dir/" files: foo

7711d36246cc83e61fb29cd6d4ef394c63f1ceaf 644   copied
9a7b52012991e4873687192c3e17e61ba3e837a3 644   foo
copied renamed from foo:2ed2a3912a0b24502043eae84ee4b279c18b90dd
@  4 "8: change foo" files: foo2
|
o  3 "6: change foo baz" files: foo2
|
o  2 "2: change foo" files: foo2
|
o  1 "1: add bar quux; copy foo to copied" files: copied2
|
o  0 "0: add foo baz dir/" files: dir2/file dir2/subdir/file3 foo2

d43feacba7a4f1f2080dde4a4b985bd8a0236d46 644   copied2
3e20847584beff41d7cd16136b7331ab3d754be0 644   dir2/file
5fe139720576e18e34bcc9f79174db8897c8afe9 644   dir2/subdir/file3
9a7b52012991e4873687192c3e17e61ba3e837a3 644   foo2
copied2 renamed from foo2:2ed2a3912a0b24502043eae84ee4b279c18b90dd
copied:
foo
copied2:
foo