Mercurial > hg
view tests/test-encoding @ 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 | 29d2a7e3a88b |
children | 4c94b6d0fb1c |
line wrap: on
line source
#!/bin/sh hg init t cd t # we need a repo with some legacy latin-1 changesets hg unbundle $TESTDIR/legacy-encoding.hg hg co python << EOF f = file('latin-1', 'w'); f.write("latin-1 e' encoded: \xe9"); f.close() f = file('utf-8', 'w'); f.write("utf-8 e' encoded: \xc3\xa9"); f.close() f = file('latin-1-tag', 'w'); f.write("\xe9"); f.close() EOF echo % should fail with encoding error echo "plain old ascii" > a hg st HGENCODING=ascii hg ci -l latin-1 -d "1000000 0" echo % these should work echo "latin-1" > a HGENCODING=latin-1 hg ci -l latin-1 -d "1000000 0" echo "utf-8" > a HGENCODING=utf-8 hg ci -l utf-8 -d "1000000 0" HGENCODING=latin-1 hg tag -d "1000000 0" `cat latin-1-tag` HGENCODING=latin-1 hg branch `cat latin-1-tag` HGENCODING=latin-1 hg ci -d "1000000 0" -m 'latin1 branch' rm .hg/branch echo "% hg log (ascii)" hg --encoding ascii log echo "% hg log (latin-1)" hg --encoding latin-1 log echo "% hg log (utf-8)" hg --encoding utf-8 log echo "% hg tags (ascii)" HGENCODING=ascii hg tags echo "% hg tags (latin-1)" HGENCODING=latin-1 hg tags echo "% hg tags (utf-8)" HGENCODING=utf-8 hg tags echo "% hg branches (ascii)" HGENCODING=ascii hg branches echo "% hg branches (latin-1)" HGENCODING=latin-1 hg branches echo "% hg branches (utf-8)" HGENCODING=utf-8 hg branches echo '[ui]' >> .hg/hgrc echo 'fallbackencoding = koi8-r' >> .hg/hgrc echo "% hg log (utf-8)" HGENCODING=utf-8 hg log echo "% hg log (dolphin)" HGENCODING=dolphin hg log HGENCODING=ascii hg branch `cat latin-1-tag` cp latin-1-tag .hg/branch HGENCODING=latin-1 hg ci -d "1000000 0" -m 'should fail' exit 0