Mercurial > hg
view tests/test-mq-git @ 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 | 8cb81d75730c |
children |
line wrap: on
line source
#!/bin/sh # Test the plumbing of mq.git option # Automatic upgrade itself is tested elsewhere. echo "[extensions]" >> $HGRCPATH echo "mq=" >> $HGRCPATH echo "[diff]" >> $HGRCPATH echo "nodates=1" >> $HGRCPATH hg init repo-auto cd repo-auto echo '% git=auto: regular patch creation' echo a > a hg add a hg qnew -d '0 0' -f adda cat .hg/patches/adda echo '% git=auto: git patch creation with copy' hg cp a b hg qnew -d '0 0' -f copy cat .hg/patches/copy echo '% git=auto: git patch when using --git' echo regular > regular hg add regular hg qnew -d '0 0' --git -f git cat .hg/patches/git echo '% git=auto: regular patch after qrefresh without --git' hg qrefresh -d '0 0' cat .hg/patches/git cd .. hg init repo-keep cd repo-keep echo '[mq]' > .hg/hgrc echo 'git = KEEP' >> .hg/hgrc echo '% git=keep: git patch with --git' echo a > a hg add a hg qnew -d '0 0' -f --git git cat .hg/patches/git echo '% git=keep: git patch after qrefresh without --git' echo a >> a hg qrefresh -d '0 0' cat .hg/patches/git cd .. hg init repo-yes cd repo-yes echo '[mq]' > .hg/hgrc echo 'git = yes' >> .hg/hgrc echo '% git=yes: git patch' echo a > a hg add a hg qnew -d '0 0' -f git cat .hg/patches/git echo '% git=yes: git patch after qrefresh' echo a >> a hg qrefresh -d '0 0' cat .hg/patches/git cd .. hg init repo-no cd repo-no echo '[diff]' > .hg/hgrc echo 'git = True' >> .hg/hgrc echo '[mq]' > .hg/hgrc echo 'git = False' >> .hg/hgrc echo '% git=no: regular patch with copy' echo a > a hg add a hg qnew -d '0 0' -f adda hg cp a b hg qnew -d '0 0' -f regular cat .hg/patches/regular echo '% git=no: regular patch after qrefresh with copy' hg cp a c hg qrefresh -d '0 0' cat .hg/patches/regular cd ..