view tests/test-rebase-keep-branch @ 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 3e5db4228f8f
children 8766fee6f225 609ce91670d0
line wrap: on
line source

#!/bin/sh

echo "[extensions]" >> $HGRCPATH
echo "graphlog=" >> $HGRCPATH
echo "rebase=" >> $HGRCPATH

addcommit () {
    echo $1 > $1
    hg add $1
    hg commit -d "${2} 0" -u test -m $1
}

hg init a
cd a
addcommit "c1" 0
addcommit "c2" 1

addcommit "l1" 2
addcommit "l2" 3

hg update -C 1
hg branch 'notdefault'
addcommit "r1" 4
hg glog --template '{rev}:{desc}:{branches}\n'

echo
echo '% Rebase a branch while preserving the branch name'
hg update -C 3
hg rebase -b 4 -d 3 --keepbranches 2>&1 | sed 's/\(saving bundle to \).*/\1/'
hg glog --template '{rev}:{desc}:{branches}\n'