path: root/builtin/clone.c
diff options
authorNguyễn Thái Ngọc Duy <>2013-05-04 02:19:33 (GMT)
committerJunio C Hamano <>2013-05-07 15:32:14 (GMT)
commit60003340cda05f5ecd79ee8522b21eda038b994b (patch)
tree6d072e229727d6a3a73ac36c7685a006be95a443 /builtin/clone.c
parent239222f587ed06f96d90dd71c66d80a2b1e3dc9f (diff)
clone: allow cloning local paths with colons in them
Usually "foo:bar" is interpreted as an ssh url. This patch allows to clone from such paths by putting at least one slash before the colon (i.e. /path/to/foo:bar or just ./foo:bar). file://foo:bar should also work, but local optimizations are off in that case, which may be unwanted. While at there, warn the users about --local being ignored in this case. Reported-by: William Giokas <> Signed-off-by: Nguyễn Thái Ngọc Duy <> Signed-off-by: Junio C Hamano <>
Diffstat (limited to 'builtin/clone.c')
1 files changed, 2 insertions, 0 deletions
diff --git a/builtin/clone.c b/builtin/clone.c
index e0aaf13..a4d444a 100644
--- a/builtin/clone.c
+++ b/builtin/clone.c
@@ -724,6 +724,8 @@ int cmd_clone(int argc, const char **argv, const char *prefix)
is_local = option_local != 0 && path && !is_bundle;
if (is_local && option_depth)
warning(_("--depth is ignored in local clones; use file:// instead."));
+ if (option_local > 0 && !is_local)
+ warning(_("--local is ignored"));
if (argc == 2)
dir = xstrdup(argv[1]);