verify: fix "missing revlog!" errors for revlog format v0 and add test
With revlog format v0 the .d files are empty if the only revision stored is an
empty file. Since Mercurial can no longer create format v0 repositories, but
still use it, add a script which creates a repository with a single empty file.
This can be used in other tests if wanted.
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