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.
a -> a not a symlink
% test replacing a file with a symlink
a -> b
popping symlink.patch
now at: base.patch
applying symlink.patch
now at: symlink.patch
a -> b
% test updating a symlink
a -> c
popping updatelink
now at: symlink.patch
applying updatelink
patching file a
a
now at: updatelink
a -> c
% test replacing a symlink with a file
popping replacelinkwithfile
now at: addlink
applying replacelinkwithfile
now at: replacelinkwithfile
sss
% test symlink removal
popping removesl.patch
now at: replacelinkwithfile
applying removesl.patch
now at: removesl.patch
C b
C c
C s