Correct optimization from 3464f5e77f34; add a test.
If there are two (or more) heads that point to the same .hgtags
node, we can safely skip parsing the file in all but the last head.
(In 3464f5e77f34, we were parsing the file in the first head and
skipping all the others.)
#!/bin/sh
hg init
echo a > a
hg commit -A -ma
echo a >> a
hg commit -mb
echo a >> a
hg commit -mc
hg up 1
echo a >> a
hg commit -md
hg up 1
echo a >> a
hg commit -me
hg up 1
echo % should fail because not at a head
hg merge
hg up
echo % should fail because \> 2 heads
hg merge
echo % should succeed
hg merge 2
hg commit -mm1
echo % should succeed - 2 heads
hg merge
hg commit -mm2
echo % should fail because 1 head
hg merge
true