log --pretty: do not accept bogus "--prettyshort"
[gitweb.git] / builtin-clone.c
index 8936a51810fb4d1886187bc00507edc0287198f4..4740b130674c074180a190f4c700863ac992ef91 100644 (file)
@@ -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);
 }
@@ -416,7 +418,7 @@ int cmd_clone(int argc, const char **argv, const char *prefix)
        if (option_reference)
                setup_reference(git_dir);
 
-       git_config(git_default_config);
+       git_config(git_default_config, NULL);
 
        if (option_bare) {
                strcpy(branch_top, "refs/heads/");