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.
adding foo
adding bar
adding baz
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
created new head
0 files updated, 0 files merged, 1 files removed, 0 files unresolved
created new head
% fail with three heads
0 files updated, 0 files merged, 0 files removed, 0 files unresolved
abort: branch 'default' has 3 heads - please merge with an explicit rev
(run 'hg heads .' to see heads)
% close one of the heads
1 files updated, 0 files merged, 1 files removed, 0 files unresolved
% succeed with two open heads
1 files updated, 0 files merged, 1 files removed, 0 files unresolved
0 files updated, 0 files merged, 0 files removed, 0 files unresolved
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
(branch merge, don't forget to commit)