view tests/test-merge-types @ 7654:816b708f23af

store all heads of a branch in the branch cache All heads of branches will be stored in a new cache file 'branchheads.cache' within the .hg directory. The old 'branch.cache' file from older versions will be ignored. The new cache contents are formatted line-by-line as '{node} {branchtag}\n'. This is the same as the previous format. Now, every head is recorded in an oldest -> tipmost order. The localrepo.branchheads function is reworked to use the data from the cache.
author John Mulligan <phlogistonjohn@asynchrono.us>
date Wed, 14 Jan 2009 21:47:38 -0500
parents 026eb80060d8
children
line wrap: on
line source

#!/bin/sh

hg init
echo a > a
hg ci -Amadd       # 0

chmod +x a
hg ci -mexecutable # 1

hg up 0
rm a
ln -s symlink a
hg ci -msymlink    # 2
hg merge --debug

echo % symlink is local parent, executable is other

if [ -h a ]; then
    echo a is a symlink
    $TESTDIR/readlink.py a
elif [ -x a ]; then
    echo a is executable
else
    echo "a has no flags (default for conflicts)"
fi

hg update -C 1
hg merge --debug

echo % symlink is other parent, executable is local

if [ -h a ]; then
    echo a is a symlink
    $TESTDIR/readlink.py a
elif [ -x a ]; then
    echo a is executable
else
    echo "a has no flags (default for conflicts)"
fi