Mercurial > hg
view tests/test-rebase-cache @ 11541:ab9fa7a85dd9 stable
filelog: cmp: don't read data if hashes are identical (issue2273)
filelog.renamed() is an expensive call as it reads the filelog if p1 == nullid.
It's more efficient to first compute the hash, and to bail early if
the computed hash is the same as the stored nodeid.
'samehashes' variable is not strictly necessary, but helps for comprehension.
author | Nicolas Dumazet <nicdumz.commits@gmail.com> |
---|---|
date | Mon, 05 Jul 2010 19:49:54 +0900 |
parents | 2313dc4d9817 |
children |
line wrap: on
line source
#!/bin/sh . $TESTDIR/helpers.sh createrepo() { rm -rf repo hg init repo cd repo echo "a" > a hg commit -d '0 0' -A -m 'A' hg branch branch1 hg commit -d '1 0' -m 'Branch1' echo "b" > b hg commit -A -d '2 0' -m 'B' hg up 0 hg branch branch2 hg commit -d '3 0' -m 'Branch2' echo "c" > C hg commit -A -d '4 0' -m 'C' hg up 2 hg branch -f branch2 echo "d" > d hg commit -A -d '5 0' -m 'D' echo "e" > e hg commit -A -d '6 0' -m 'E' hg update default hg branch branch3 hg commit -d '7 0' -m 'Branch3' echo "f" > f hg commit -A -d '8 0' -m 'F' } echo createrepo > /dev/null 2>&1 hg --config extensions.hgext.graphlog= glog --template '{rev}:{node|short} {desc} branch: {branches}\n' echo echo '% Branches' hg branches echo echo '% Heads' hg heads --template '{rev}:{node|short} {desc} branch: {branches}\n' echo echo '% Rebase part of branch2 (5-6) onto branch3 (8)' hg --config extensions.hgext.rebase= rebase --detach -s 5 -d 8 | hidebackup echo echo '% Branches' hg branches echo echo '% Heads' hg heads --template '{rev}:{node|short} {desc} branch: {branches}\n' echo hg --config extensions.hgext.graphlog= glog --template '{rev}:{node|short} {desc} branch: {branches}\n' echo echo '% Rebase head of branch3 (8) onto branch2 (6)' createrepo > /dev/null 2>&1 hg --config extensions.hgext.graphlog= glog --template '{rev}:{node|short} {desc} branch: {branches}\n' hg --config extensions.hgext.rebase= rebase --detach -s 8 -d 6 | hidebackup echo echo '% Branches' hg branches echo echo '% Heads' hg heads --template '{rev}:{node|short} {desc} branch: {branches}\n' echo hg --config extensions.hgext.graphlog= glog --template '{rev}:{node|short} {desc} branch: {branches}\n' hg verify -q echo echo '% Rebase entire branch3 (7-8) onto branch2 (6)' createrepo > /dev/null 2>&1 hg --config extensions.hgext.graphlog= glog --template '{rev}:{node|short} {desc} branch: {branches}\n' hg --config extensions.hgext.rebase= rebase --detach -s 7 -d 6 | hidebackup echo echo '% Branches' hg branches echo echo '% Heads' hg heads --template '{rev}:{node|short} {desc} branch: {branches}\n' echo hg --config extensions.hgext.graphlog= glog --template '{rev}:{node|short} {desc} branch: {branches}\n' hg verify -q