view tests/test-merge7.out @ 2577:fa76c5d609c9

bdiff: improve worst case behavior by 100x. on 5.8MB (244.000 lines) text file with similar lines, hash before this change made diff against empty file take 75 seconds. this change improves performance to 0.6 seconds. result is that clone of smallish repo (137MB) with some files like this takes 1 minute instead of 10 minutes. common case of diff is 10% slower now, probably because of worse cache locality. but diff does not affect overall performance in common case (less than 1% of runtime is in diff when it is working ok), so this tradeoff looks good.
author Vadim Gelfer <vadim.gelfer@gmail.com>
date Fri, 07 Jul 2006 15:02:55 -0700
parents e506c14382fd
children 49988d9f0758
line wrap: on
line source

1 files updated, 0 files merged, 0 files removed, 0 files unresolved
pulling from ../test-a
searching for changes
adding changesets
adding manifests
adding file changes
added 1 changesets with 1 changes to 1 files (+1 heads)
(run 'hg heads' to see heads, 'hg merge' to merge)
merge: warning: conflicts during merge
merging test.txt
merging test.txt failed!
0 files updated, 0 files merged, 0 files removed, 1 files unresolved
There are unresolved merges, you can redo the full merge using:
  hg update -C 1
  hg merge 2
pulling from ../test-a
searching for changes
adding changesets
adding manifests
adding file changes
added 1 changesets with 1 changes to 1 files (+1 heads)
(run 'hg heads' to see heads, 'hg merge' to merge)
merge: warning: conflicts during merge
resolving manifests
 force False allow True moddirstate True linear False
 ancestor 055d847dd401 local 2eded9ab0a5c remote 84cf5750dd20
 test.txt versions differ, resolve
merging test.txt
resolving test.txt
file test.txt: my fc3148072371 other d40249267ae3 ancestor 8fe46a3eb557
merging test.txt failed!
0 files updated, 0 files merged, 0 files removed, 1 files unresolved
There are unresolved merges, you can redo the full merge using:
  hg update -C 3
  hg merge 4
one
<<<<<<<
two-point-five
=======
two-point-one
>>>>>>>
three
   rev    offset  length   base linkrev nodeid       p1           p2
     0         0       7      0       0 01365c4cca56 000000000000 000000000000
     1         7       9      1       1 7b013192566a 01365c4cca56 000000000000
     2        16      15      2       2 8fe46a3eb557 01365c4cca56 000000000000
     3        31      27      2       3 fc3148072371 7b013192566a 8fe46a3eb557
     4        58      25      4       4 d40249267ae3 8fe46a3eb557 000000000000
changeset:   4:a070d41e8360
tag:         tip
parent:      2:faaea63e63a9
user:        test
date:        Mon Jan 12 13:46:40 1970 +0000
summary:     two -> two-point-one

changeset:   3:451c744aabcc
parent:      1:e409be6afcc0
parent:      2:faaea63e63a9
user:        test
date:        Mon Jan 12 13:46:40 1970 +0000
summary:     Merge 1

changeset:   2:faaea63e63a9
parent:      0:095c92b91f1a
user:        test
date:        Mon Jan 12 13:46:40 1970 +0000
summary:     Numbers as words

changeset:   1:e409be6afcc0
user:        test
date:        Mon Jan 12 13:46:40 1970 +0000
summary:     2 -> 2.5

changeset:   0:095c92b91f1a
user:        test
date:        Mon Jan 12 13:46:40 1970 +0000
summary:     Initial