clone: fall back to copying if hardlinking fails
Note that it stops trying hardlinks if any fail. Signed-off-by: Daniel Barkalow <barkalow@iabervon.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
parent
689ef4d42e
commit
fdabc242f4
@ -207,13 +207,15 @@ static void copy_or_link_directory(char *src, char *dest)
|
||||
|
||||
if (unlink(dest) && errno != ENOENT)
|
||||
die("failed to unlink %s\n", dest);
|
||||
if (option_no_hardlinks) {
|
||||
if (copy_file(dest, src, 0666))
|
||||
die("failed to copy file to %s\n", dest);
|
||||
} else {
|
||||
if (link(src, dest))
|
||||
if (!option_no_hardlinks) {
|
||||
if (!link(src, dest))
|
||||
continue;
|
||||
if (option_local)
|
||||
die("failed to create link %s\n", dest);
|
||||
option_no_hardlinks = 1;
|
||||
}
|
||||
if (copy_file(dest, src, 0666))
|
||||
die("failed to copy file to %s\n", dest);
|
||||
}
|
||||
closedir(dir);
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user