summaryrefslogtreecommitdiff
path: root/builtin
diff options
context:
space:
mode:
authorJunio C Hamano <gitster@pobox.com>2010-09-03 09:43:45 -0700
committerJunio C Hamano <gitster@pobox.com>2010-09-03 09:43:45 -0700
commitc6babe5762f2f4e0d57e08c1362e05053348919a (patch)
treeb45bee618918db2bd153e35f1aa5e56332792038 /builtin
parentf9c8e7c8f134597f34315cb1b5fcd4598c3453ca (diff)
parent24c61c44e65f672ffcd032e43519824719d249c4 (diff)
downloadgit-c6babe5762f2f4e0d57e08c1362e05053348919a.tar.gz
Merge branch 'nd/clone-depth-zero'
* nd/clone-depth-zero: clone: warn users --depth is ignored in local clones
Diffstat (limited to 'builtin')
-rw-r--r--builtin/clone.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/builtin/clone.c b/builtin/clone.c
index efb1e6faa5..19ed64041d 100644
--- a/builtin/clone.c
+++ b/builtin/clone.c
@@ -361,7 +361,7 @@ static void write_remote_refs(const struct ref *local_refs)
int cmd_clone(int argc, const char **argv, const char *prefix)
{
- int is_bundle = 0;
+ int is_bundle = 0, is_local;
struct stat buf;
const char *repo_name, *repo, *work_tree, *git_dir;
char *path, *dir;
@@ -414,6 +414,9 @@ int cmd_clone(int argc, const char **argv, const char *prefix)
repo = xstrdup(make_absolute_path(repo_name));
else
repo = repo_name;
+ is_local = path && !is_bundle;
+ if (is_local && option_depth)
+ warning("--depth is ignored in local clones; use file:// instead.");
if (argc == 2)
dir = xstrdup(argv[1]);
@@ -514,7 +517,7 @@ int cmd_clone(int argc, const char **argv, const char *prefix)
strbuf_reset(&value);
- if (path && !is_bundle) {
+ if (is_local) {
refs = clone_local(path, git_dir);
mapped_refs = wanted_peer_refs(refs, refspec);
} else {