aboutsummaryrefslogtreecommitdiff
path: root/builtin/clone.c
diff options
context:
space:
mode:
authorNguyễn Thái Ngọc Duy <pclouds@gmail.com>2013-12-05 10:31:11 +0700
committerJunio C Hamano <gitster@pobox.com>2013-12-06 12:57:10 -0800
commit5594bcad21da70d2e9704cf96baa91b8d99dc27b (patch)
tree90367668eb9e3dcbe759e1bf92f3f9b385b015b0 /builtin/clone.c
parent2f93541d88fadd1ff5307d81c2c8921ee3eea058 (diff)
downloadgit-5594bcad21da70d2e9704cf96baa91b8d99dc27b.tar.gz
git-5594bcad21da70d2e9704cf96baa91b8d99dc27b.tar.xz
clone,fetch: catch non positive --depth option value
Instead of simply ignoring the value passed to --depth option when it is zero or negative, catch and report it as an error to let people know that they were using the option incorrectly. Original-patch-by: Andrés G. Aragoneses <knocte@gmail.com> Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'builtin/clone.c')
-rw-r--r--builtin/clone.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/builtin/clone.c b/builtin/clone.c
index 552f3409e..535b52f31 100644
--- a/builtin/clone.c
+++ b/builtin/clone.c
@@ -797,6 +797,10 @@ int cmd_clone(int argc, const char **argv, const char *prefix)
if (option_local > 0 && !is_local)
warning(_("--local is ignored"));
+ /* no need to be strict, transport_set_option() will validate it again */
+ if (option_depth && atoi(option_depth) < 1)
+ die(_("depth %s is not a positive number"), option_depth);
+
if (argc == 2)
dir = xstrdup(argv[1]);
else