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
# test dirstate._dirs refcounting
hg init t
cd t
mkdir -p a/b/c/d
touch a/b/c/d/x
touch a/b/c/d/y
touch a/b/c/d/z
hg ci -Am m
hg mv a z