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>

Nguyễn Thái Ngọc Duy committed Dec 5, 2013 at 10:31 UTC 5594bcad21da70d2e9704cf96baa91b8d99dc27b
2 files changed +8
builtin/clone.c
+4
@@ -797,6 +797,10 @@ int cmd_clone(int argc, const char **argv, const char *prefix)
797 if (option_local > 0 && !is_local)
798 warning(_("--local is ignored"));
799
800 + /* no need to be strict, transport_set_option() will validate it again */
801 + if (option_depth && atoi(option_depth) < 1)
802 + die(_("depth %s is not a positive number"), option_depth);
803 +
804 if (argc == 2)
805 dir = xstrdup(argv[1]);
806 else
builtin/fetch.c
+4
@@ -1045,6 +1045,10 @@ int cmd_fetch(int argc, const char **argv, const char *prefix)
1045 }
1046 }
1047
1048 + /* no need to be strict, transport_set_option() will validate it again */
1049 + if (depth && atoi(depth) < 1)
1050 + die(_("depth %s is not a positive number"), depth);
1051 +
1052 if (recurse_submodules != RECURSE_SUBMODULES_OFF) {
1053 if (recurse_submodules_default) {
1054 int arg = parse_fetch_recurse_submodules_arg("--recurse-submodules-default", recurse_submodules_default);