clone: save hardlink state of util.copyfiles()
When trying to do hardlink-cloning, the os_link() call of the
first file tried already fails on Windows, if the source is on a
UNC path.
This change avoids calling os_link() for the rest of files, leaving
us with a *single* failed os_link() call per clone operation, if the
source can't do hardlinks.
#!/bin/sh
echo "[extensions]" >> $HGRCPATH
echo "graphlog=" >> $HGRCPATH
echo "rebase=" >> $HGRCPATH
addcommit () {
echo $1 > $1
hg add $1
hg commit -d "${2} 0" -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 -q
hg glog --template '{rev}:{desc}:{branches}\n'
echo '% dirstate branch should be "notdefault"'
hg branch