Mercurial > hg
view tests/test-merge-internal-tools-pattern @ 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 | a3668330f14a |
children | 4c94b6d0fb1c |
line wrap: on
line source
#!/bin/sh # make sure that the internal merge tools (internal:fail, internal:local, and # internal:other) are used when matched by a merge-pattern in hgrc unset HGMERGE # make sure HGMERGE doesn't interfere with the test hg init echo "# initial file contents" echo "line 1" > f echo "line 2" >> f echo "line 3" >> f hg commit -Am "revision 0" -d "1000000 0" cat f echo "# branch 1: editing line 1" sed 's/line 1/first line/' f > f.new mv f.new f hg commit -Am "edited first line" -d "1000000 0" echo "# branch 2: editing line 3" hg update 0 sed 's/line 3/third line/' f > f.new mv f.new f hg commit -Am "edited third line" -d "1000000 0" echo "# merge using internal:fail tool" echo "[merge-patterns]" > .hg/hgrc echo "* = internal:fail" >> .hg/hgrc hg merge cat f hg stat echo "# merge using internal:local tool" hg update -C 2 sed 's/internal:fail/internal:local/' .hg/hgrc > .hg/hgrc.new mv .hg/hgrc.new .hg/hgrc hg merge cat f hg stat echo "# merge using internal:other tool" hg update -C 2 sed 's/internal:local/internal:other/' .hg/hgrc > .hg/hgrc.new mv .hg/hgrc.new .hg/hgrc hg merge cat f hg stat echo "# merge using default tool" hg update -C 2 rm .hg/hgrc hg merge cat f hg stat