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.
invoking hg diff --nodates --change 1:
diff -r 4bb65dda5db4 -r e9b286083166 file.txt
--- a/file.txt
+++ b/file.txt
@@ -1,1 +1,1 @@
-first
+second
invoking hg diff --nodates --change e9b286083166:
diff -r 4bb65dda5db4 -r e9b286083166 file.txt
--- a/file.txt
+++ b/file.txt
@@ -1,1 +1,1 @@
-first
+second
invoking hg diff --nodates --change 6:
diff -r e8a0797e73a6 -r aa9873050139 file.txt
--- a/file.txt
+++ b/file.txt
@@ -6,6 +6,6 @@
5
6
7
-8
+y
9
10
EOF