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.
1 files updated, 0 files merged, 2 files removed, 0 files unresolved
searching for copies back to rev 1
unmatched files in other:
b
c
all copies found (* = to merge, ! = divergent):
c -> a *
b -> a *
checking for directory renames
resolving manifests
overwrite None partial False
ancestor 583c7b748052 local fb3948d97f07+ remote 7f1309517659
a: remote moved to c -> m
a: remote moved to b -> m
preserving a for resolve of b
preserving a for resolve of c
removing a
update: a 1/2 files (50.00%)
picked tool 'internal:merge' for b (binary False symlink False)
merging a and b to b
my b@fb3948d97f07+ other b@7f1309517659 ancestor a@583c7b748052
premerge successful
update: a 2/2 files (100.00%)
picked tool 'internal:merge' for c (binary False symlink False)
merging a and c to c
my c@fb3948d97f07+ other c@7f1309517659 ancestor a@583c7b748052
premerge successful
0 files updated, 2 files merged, 0 files removed, 0 files unresolved
(branch merge, don't forget to commit)
-- b --
0
1
2
-- c --
0
1
2