Mercurial > hg > mercurial-crew-with-dirclash
view tests/test-revert @ 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 | e9a0ed9ed4d9 |
children | 890e285c52a1 |
line wrap: on
line source
#!/bin/sh hg init echo 123 > a echo 123 > c echo 123 > e hg add a c e hg commit -m "first" -d "1000000 0" a c e echo 123 > b echo %% should show b unknown hg status echo 12 > c echo %% should show b unknown and c modified hg status hg add b echo %% should show b added and c modified hg status hg rm a echo %% should show a removed, b added and c modified hg status hg revert a echo %% should show b added, copy saved, and c modified hg status hg revert b echo %% should show b unknown, and c modified hg status hg revert --no-backup c echo %% should show unknown: b hg status echo %% should show a b c e ls echo %% should verbosely save backup to e.orig echo z > e hg revert -v echo %% should say no changes needed hg revert a echo %% should say file not managed echo q > q hg revert q rm q echo %% should say file not found hg revert notfound hg rm a hg commit -m "second" -d "1000000 0" echo z > z hg add z hg st echo %% should add a, forget z hg revert -r0 echo %% should forget a hg revert -rtip rm -f a *.orig echo %% should silently add a hg revert -r0 a hg st a hg update -C chmod +x c hg revert echo %% should print non-executable test -x c || echo non-executable chmod +x c hg commit -d '1000001 0' -m exe chmod -x c hg revert echo %% should print executable test -x c && echo executable echo %% issue 241 hg init a cd a echo a >> a hg commit -A -d '1 0' -m a echo a >> a hg commit -d '2 0' -m a hg update 0 mkdir b echo b > b/b hg revert -rtip true