Mercurial > hg-stable
view tests/test-branches @ 11609:890ad9d6a169
log: slowpath: do not read the full changelog
When in the slowpath, we are examining _all_ changesets in revs.
We need to order reads so they happen increasingly for I/O performance.
Increasing windows were used to read changelog backwards in a windowed manner,
reading the changelog forward inside each window. But since no revision range
was specified, it was equivalent to reading the full changelog, even if a
single revision was passed to the commandline.
When --removed is used, we _need_ to scan all changesets, but if we're only
looking for file patterns, this is not necessary and we can stick to
the revspec that was given to us.
author | Nicolas Dumazet <nicdumz.commits@gmail.com> |
---|---|
date | Sun, 04 Jul 2010 18:07:30 +0900 |
parents | 58e040c51231 |
children |
line wrap: on
line source
#!/bin/sh hg init a cd a echo 'root' >root hg add root hg commit -d '0 0' -m "Adding root node" echo 'a' >a hg add a hg branch a hg commit -d '1 0' -m "Adding a branch" hg branch q echo 'aa' >a hg branch -C hg commit -d '2 0' -m "Adding to a branch" hg update -C 0 echo 'b' >b hg add b hg branch b hg commit -d '2 0' -m "Adding b branch" echo 'bh1' >bh1 hg add bh1 hg commit -d '3 0' -m "Adding b branch head 1" hg update -C 2 echo 'bh2' >bh2 hg add bh2 hg commit -d '4 0' -m "Adding b branch head 2" echo 'c' >c hg add c hg branch c hg commit -d '5 0' -m "Adding c branch" hg branch tip hg branch null hg branch . echo 'd' >d hg add d hg branch 'a branch name much longer than the default justification used by branches' hg commit -d '6 0' -m "Adding d branch" hg branches echo '-------' hg branches -a echo "--- Branch a" hg log -b a echo "---- Branch b" hg log -b b echo "---- going to test branch closing" hg branches hg up -C b echo 'xxx1' >> b hg commit -d '7 0' -m 'adding cset to branch b' hg up -C aee39cd168d0 echo 'xxx2' >> b hg commit -d '8 0' -m 'adding head to branch b' echo 'xxx3' >> b hg commit -d '9 0' -m 'adding another cset to branch b' hg branches hg heads --closed hg heads hg commit -d '9 0' --close-branch -m 'prune bad branch' hg branches -a hg up -C b hg commit -d '9 0' --close-branch -m 'close this part branch too' echo '--- b branch should be inactive' hg branches hg branches -c hg branches -a hg heads b hg heads --closed b echo 'xxx4' >> b hg commit -d '9 0' -m 'reopen branch with a change' echo '--- branch b is back in action' hg branches -a echo '---- test heads listings' hg heads echo '% branch default' hg heads default echo '% branch a' hg heads a hg heads --active a echo '% branch b' hg heads b hg heads --closed b