Mercurial > hg > mercurial-crew-with-dirclash
view tests/test-remove.out @ 2474:1e32e2fe8a67
Fix cold cache diff performance
cold cache diff performance has regressed in two ways. localrepo.changes
has optimizations for diffing against the working dir parent that expect
node1 to be None. commands.revpair() usage means that commands.dodiff()
never sends node1 == None. This is fixed in localrepo.changes by checking
against the dirstate parents.
In the non-dirstate parents case, localrepo.changes does a loop comparing
files without first sorting the file names, leading to random access
across the disk.
author | Chris Mason <mason@suse.com> |
---|---|
date | Wed, 21 Jun 2006 09:28:48 -0700 |
parents | b2f37c7026ca |
children | 096f1c73cdc3 |
line wrap: on
line source
not removing foo: file is not managed abort: no files specified undeleting foo removing foo # HG changeset patch # User test # Date 1000000 0 # Node ID 8ba83d44753d6259db5ce6524974dd1174e90f47 # Parent 0000000000000000000000000000000000000000 1 diff -r 000000000000 -r 8ba83d44753d foo --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/foo Mon Jan 12 13:46:40 1970 +0000 @@ -0,0 +1,1 @@ +a # HG changeset patch # User test # Date 1000000 0 # Node ID a1fce69c50d97881c5c014ab23f580f720c78678 # Parent 8ba83d44753d6259db5ce6524974dd1174e90f47 2 diff -r 8ba83d44753d -r a1fce69c50d9 foo --- a/foo Mon Jan 12 13:46:40 1970 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,1 +0,0 @@ -a changeset: 0:8ba83d44753d user: test date: Mon Jan 12 13:46:40 1970 +0000 summary: 1 diff -r 000000000000 -r 8ba83d44753d foo --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/foo Mon Jan 12 13:46:40 1970 +0000 @@ -0,0 +1,1 @@ +a changeset: 1:a1fce69c50d9 tag: tip user: test date: Mon Jan 12 13:46:40 1970 +0000 summary: 2 diff -r 8ba83d44753d -r a1fce69c50d9 foo --- a/foo Mon Jan 12 13:46:40 1970 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,1 +0,0 @@ -a not removing a: file has been marked for add (use -f to force removal) adding a adding b not removing b: file is modified (use -f to force removal) 2 files updated, 0 files merged, 0 files removed, 0 files unresolved