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 <kno...@gmail.com>
Signed-off-by: Nguyễn Thái Ngọc Duy <pclo...@gmail.com>
---
 This replaces aa/transport-non-positive-depth-only

 builtin/clone.c | 4 ++++
 builtin/fetch.c | 4 ++++
 2 files changed, 8 insertions(+)

diff --git a/builtin/clone.c b/builtin/clone.c
index 552f340..535b52f 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
diff --git a/builtin/fetch.c b/builtin/fetch.c
index 2496ad2..ed399eb 100644
--- a/builtin/fetch.c
+++ b/builtin/fetch.c
@@ -1047,6 +1047,10 @@ int cmd_fetch(int argc, const char **argv, const char 
*prefix)
                }
        }
 
+       /* no need to be strict, transport_set_option() will validate it again 
*/
+       if (depth && atoi(depth) < 1)
+               die(_("depth %s is not a positive number"), depth);
+
        if (recurse_submodules != RECURSE_SUBMODULES_OFF) {
                if (recurse_submodules_default) {
                        int arg = 
parse_fetch_recurse_submodules_arg("--recurse-submodules-default", 
recurse_submodules_default);
-- 
1.8.5.1.25.g8667982

--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to