addremove: correctly handle intermediate symlinks
This fixes problems mentioned in
issue660 comments (unrelated to original
issue) where directory was renamed, and symlink was added instead.
In such situation addremove wasn't able to correctly detect that old files
no longer here, but tried to add symlink (and failed due collision with
old files).
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
created new head
1 files updated, 0 files merged, 2 files removed, 0 files unresolved
rev offset length base linkrev nodeid p1 p2
0 0 3 0 0 362fef284ce2 000000000000 000000000000
1 3 5 1 1 125144f7e028 362fef284ce2 000000000000
2 8 7 2 2 4c982badb186 125144f7e028 000000000000
3 15 9 3 3 19b1fc555737 4c982badb186 000000000000
rev offset length base linkrev nodeid p1 p2
0 0 75 0 7 905359268f77 000000000000 000000000000
rev offset length base linkrev nodeid p1 p2
0 0 75 0 8 905359268f77 000000000000 000000000000
rev offset length base linkrev nodeid p1 p2
0 0 8 0 6 12ab3bcc5ea4 000000000000 000000000000
rev offset length base linkrev nodeid p1 p2
0 0 48 0 0 43eadb1d2d06 000000000000 000000000000
1 48 48 1 1 8b89697eba2c 43eadb1d2d06 000000000000
2 96 48 2 2 626a32663c2f 8b89697eba2c 000000000000
3 144 48 3 3 f54c32f13478 626a32663c2f 000000000000
4 192 58 3 6 de68e904d169 626a32663c2f 000000000000
5 250 68 3 7 3b45cc2ab868 de68e904d169 000000000000
6 318 54 6 8 24d86153a002 f54c32f13478 000000000000
checking changesets
checking manifests
crosschecking files in changesets and manifests
checking files
4 files, 9 changesets, 7 total revisions
searching for changes
1 changesets found
adding changesets
adding manifests
adding file changes
added 1 changesets with 1 changes to 1 files
(run 'hg update' to get a working copy)
checking changesets
checking manifests
crosschecking files in changesets and manifests
checking files
1 files, 1 changesets, 1 total revisions
0:5649c9d34dd8
searching for changes
2 changesets found
adding changesets
adding manifests
adding file changes
added 2 changesets with 2 changes to 1 files
(run 'hg update' to get a working copy)
checking changesets
checking manifests
crosschecking files in changesets and manifests
checking files
1 files, 2 changesets, 2 total revisions
1:10b2180f755b
searching for changes
3 changesets found
adding changesets
adding manifests
adding file changes
added 3 changesets with 3 changes to 1 files
(run 'hg update' to get a working copy)
checking changesets
checking manifests
crosschecking files in changesets and manifests
checking files
1 files, 3 changesets, 3 total revisions
2:d62976ca1e50
searching for changes
4 changesets found
adding changesets
adding manifests
adding file changes
added 4 changesets with 4 changes to 1 files
(run 'hg update' to get a working copy)
checking changesets
checking manifests
crosschecking files in changesets and manifests
checking files
1 files, 4 changesets, 4 total revisions
3:ac69c658229d
searching for changes
2 changesets found
adding changesets
adding manifests
adding file changes
added 2 changesets with 2 changes to 1 files
(run 'hg update' to get a working copy)
checking changesets
checking manifests
crosschecking files in changesets and manifests
checking files
1 files, 2 changesets, 2 total revisions
1:5f4f3ceb285e
searching for changes
3 changesets found
adding changesets
adding manifests
adding file changes
added 3 changesets with 3 changes to 1 files
(run 'hg update' to get a working copy)
checking changesets
checking manifests
crosschecking files in changesets and manifests
checking files
1 files, 3 changesets, 3 total revisions
2:024e4e7df376
searching for changes
4 changesets found
adding changesets
adding manifests
adding file changes
added 4 changesets with 5 changes to 2 files
(run 'hg update' to get a working copy)
checking changesets
checking manifests
crosschecking files in changesets and manifests
checking files
2 files, 4 changesets, 5 total revisions
3:1e3f6b843bd6
searching for changes
5 changesets found
adding changesets
adding manifests
adding file changes
added 5 changesets with 6 changes to 3 files
(run 'hg update' to get a working copy)
checking changesets
checking manifests
crosschecking files in changesets and manifests
checking files
3 files, 5 changesets, 6 total revisions
4:80fe151401c2
searching for changes
5 changesets found
adding changesets
adding manifests
adding file changes
added 5 changesets with 5 changes to 2 files
(run 'hg update' to get a working copy)
checking changesets
checking manifests
crosschecking files in changesets and manifests
checking files
2 files, 5 changesets, 5 total revisions
4:836ac62537ab
pulling from ../test-7
searching for changes
adding changesets
adding manifests
adding file changes
added 4 changesets with 2 changes to 3 files (+1 heads)
(run 'hg heads' to see heads, 'hg merge' to merge)
checking changesets
checking manifests
crosschecking files in changesets and manifests
checking files
4 files, 9 changesets, 7 total revisions
rolling back last transaction
% should fail
abort: --base is incompatible with specifiying a destination
abort: repository default-push not found!
2 changesets found
4 changesets found
6 changesets found
1 changesets found
1 changesets found
updating working directory
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
% 2
2:d62976ca1e50
adding changesets
transaction abort!
rollback completed
abort: 00changelog.i@ac69c658229d: unknown parent!
% 2
2:d62976ca1e50
adding changesets
adding manifests
adding file changes
added 6 changesets with 4 changes to 4 files (+1 heads)
(run 'hg heads' to see heads, 'hg merge' to merge)
% 8
8:836ac62537ab
checking changesets
checking manifests
crosschecking files in changesets and manifests
checking files
4 files, 9 changesets, 7 total revisions
rolling back last transaction
% 2
2:d62976ca1e50
adding changesets
adding manifests
adding file changes
added 2 changesets with 2 changes to 2 files
(run 'hg update' to get a working copy)
% 4
4:836ac62537ab
checking changesets
checking manifests
crosschecking files in changesets and manifests
checking files
2 files, 5 changesets, 5 total revisions
rolling back last transaction
adding changesets
adding manifests
adding file changes
added 4 changesets with 3 changes to 3 files (+1 heads)
(run 'hg heads' to see heads, 'hg merge' to merge)
% 6
6:80fe151401c2
checking changesets
checking manifests
crosschecking files in changesets and manifests
checking files
3 files, 7 changesets, 6 total revisions
warning: detected divergent renames of afile to:
anotherfile
adifferentfile
2 files updated, 0 files merged, 0 files removed, 0 files unresolved
(branch merge, don't forget to commit)
7 changesets found
updating working directory
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
adding changesets
adding manifests
adding file changes
added 7 changesets with 4 changes to 4 files
(run 'hg update' to get a working copy)
% 9
9:607fe5912aad
checking changesets
checking manifests
crosschecking files in changesets and manifests
checking files
4 files, 10 changesets, 7 total revisions