util.copyfiles: don't try os_link() again if it failed before
If the os_link() call on the first file in the directory fails [1],
we switch mode to using shutil.copy() for all remaining files.
[1] happens for example on Windows for every file when cloning from a UNC
path without specifying --pull.
#!/bin/sh
mkdir t
cd t
hg init
echo 1 > a
hg ci -qAm "first" -d "1000000 0"
hg cp a b
hg mv a c
echo 2 >> b
echo 2 >> c
hg ci -qAm "second" -d "1000000 0"
hg co -C 0
echo 0 > a
echo 1 >> a
hg ci -qAm "other" -d "1000000 0"
hg merge --debug
echo "-- b --"
cat b
echo "-- c --"
cat c