builtin/checkout: add --recurse-submodules switch
[gitweb.git] / submodule-config.c
index 93453909cf3225e2b4b9630d4013f76987ca8be8..3e8e380d985b1d0de8e7909d229aa9c95ef99f23 100644 (file)
@@ -234,6 +234,26 @@ int parse_fetch_recurse_submodules_arg(const char *opt, const char *arg)
        return parse_fetch_recurse(opt, arg, 1);
 }
 
+static int parse_update_recurse(const char *opt, const char *arg,
+                               int die_on_error)
+{
+       switch (git_config_maybe_bool(opt, arg)) {
+       case 1:
+               return RECURSE_SUBMODULES_ON;
+       case 0:
+               return RECURSE_SUBMODULES_OFF;
+       default:
+               if (die_on_error)
+                       die("bad %s argument: %s", opt, arg);
+               return RECURSE_SUBMODULES_ERROR;
+       }
+}
+
+int parse_update_recurse_submodules_arg(const char *opt, const char *arg)
+{
+       return parse_update_recurse(opt, arg, 1);
+}
+
 static int parse_push_recurse(const char *opt, const char *arg,
                               int die_on_error)
 {