##// END OF EJS Templates
patch: support diff data loss detection and upgrade...
patch: support diff data loss detection and upgrade In worst case, generating diff in upgrade mode can be two times more expensive than generating it in git mode directly: we may have to regenerate the whole diff again whenever a git feature is detected. Also, the first diff attempt is completely buffered instead of being streamed. That said, even without having profiled it yet, I am convinced we can fast-path the upgrade mode if necessary were it to be used in regular diff commands, and not only in mq where avoiding data loss is worth the price.

File last commit:

r8470:dd24488c default
r10189:e451e599 default
Show More
test-convert-bzr.out
89 lines | 1.8 KiB | text/plain | TextLexer
/ tests / test-convert-bzr.out
% create and rename on the same file in the same step
a => b
c => d
e => f
initializing destination source-hg repository
scanning source...
sorting...
converting...
1 Initial add: a, c, e
0 rename a into b, create a, rename c into d
o 1 "rename a into b, create a, rename c into d" files: a b c d e f
|
o 0 "Initial add: a, c, e" files: a c e
% manifest
a
b
d
f
% test --rev option
initializing destination source-1-hg repository
scanning source...
sorting...
converting...
0 Initial add: a, c, e
o 0 "Initial add: a, c, e" files: a c e
% test with filemap
initializing destination source-filemap-hg repository
scanning source...
sorting...
converting...
1 Initial add: a, c, e
0 rename a into b, create a, rename c into d
b
d
f
% convert from lightweight checkout
initializing destination source-light-hg repository
warning: lightweight checkouts may cause conversion failures, try with a regular branch instead.
scanning source...
sorting...
converting...
1 Initial add: a, c, e
0 rename a into b, create a, rename c into d
% lightweight manifest
a
b
d
f
% compare timestamps
good: hg timestamps match bzr timestamps
% merge
initializing destination source-hg repository
scanning source...
sorting...
converting...
3 Initial add
2 Editing a
1 Editing b
0 Merged improve branch
o 3 "Merged improve branch" files:
|\
| o 2 "Editing b" files: b
| |
o | 1 "Editing a" files: a
|/
o 0 "Initial add" files: a b
% symlinks and executable files
initializing destination source-hg repository
scanning source...
sorting...
converting...
1 Initial setup
0 Symlink changed, x bits changed
% manifest of 0
644 @ altname
644 d/a
755 * program
644 @ syma
% manifest of tip
644 @ altname
644 d/a
755 * newprog
644 program
644 @ syma
% test the symlinks can be recreated
5 files updated, 0 files merged, 0 files removed, 0 files unresolved
a