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
cat >> $HGRCPATH <<EOF
[extensions]
convert=
graphlog=
EOF
hg init t
cd t
echo a >> a
hg ci -Am a0 -d '1 0'
hg branch brancha
echo a >> a
hg ci -m a1 -d '2 0'
echo a >> a
hg ci -m a2 -d '3 0'
echo a >> a
hg ci -m a3 -d '4 0'
hg up -C 0
hg branch branchb
echo b >> b
hg ci -Am b0 -d '6 0'
hg up -C brancha
echo a >> a
hg ci -m a4 -d '5 0'
echo a >> a
hg ci -m a5 -d '7 0'
echo a >> a
hg ci -m a6 -d '8 0'
hg up -C branchb
echo b >> b
hg ci -m b1 -d '9 0'
cd ..
echo % convert with datesort
hg convert --datesort t t-datesort
echo % graph converted repo
hg -R t-datesort glog --template '{rev} "{desc}"\n'
echo '% convert with datesort (default mode)'
hg convert t t-sourcesort
echo % graph converted repo
hg -R t-sourcesort glog --template '{rev} "{desc}"\n'