Mercurial > hg
view tests/test-backout @ 3157:4fe41a9e4591
optimize revlog.lookup when passed hex(node)[:...]
Instead of converting each node from the filenode to a hex form,
convert the arg to a bin form.
For a revlog with 26711 entries, doing 100 lookup:
before: ~18s
after : ~13s
author | Benoit Boissinot <benoit.boissinot@ens-lyon.org> |
---|---|
date | Sun, 24 Sep 2006 13:52:27 +0200 |
parents | 8ba1c31f6864 |
children | 46280c004f22 |
line wrap: on
line source
#!/bin/sh echo '# basic operation' hg init basic cd basic echo a > a hg commit -d '0 0' -A -m a echo b >> a hg commit -d '1 0' -m b hg backout -d '2 0' tip cat a echo '# file that was removed is recreated' cd .. hg init remove cd remove echo content > a hg commit -d '0 0' -A -m a hg rm a hg commit -d '1 0' -m b hg backout -d '2 0' --merge tip cat a echo '# backout of backout is as if nothing happened' hg backout -d '3 0' --merge tip cat a 2>/dev/null || echo cat: a: No such file or directory echo '# backout with merge' cd .. hg init merge cd merge echo line 1 > a hg commit -d '0 0' -A -m a echo line 2 >> a hg commit -d '1 0' -m b echo line 3 >> a hg commit -d '2 0' -m c hg backout --merge -d '3 0' 1 hg commit -d '4 0' -m d cat a echo '# backout should not back out subsequent changesets' hg init onecs cd onecs echo 1 > a hg commit -d '0 0' -A -m a echo 2 >> a hg commit -d '1 0' -m b echo 1 > b hg commit -d '2 0' -A -m c hg backout -d '3 0' 1 hg locate b cd .. hg init m cd m echo a > a hg commit -d '0 0' -A -m a echo b > b hg commit -d '1 0' -A -m b echo c > c hg commit -d '2 0' -A -m b hg update 1 echo d > d hg commit -d '3 0' -A -m c hg merge 2 hg commit -d '4 0' -A -m d echo '# backout of merge should fail' hg backout 4 echo '# backout of merge with bad parent should fail' hg backout --parent 0 4 echo '# backout of non-merge with parent should fail' hg backout --parent 0 3 echo '# backout with valid parent should be ok' hg backout -d '5 0' --parent 2 4 hg rollback hg update -C hg backout -d '6 0' --parent 3 4 exit 0