diff options
author | Jens Lehmann <Jens.Lehmann@web.de> | 2012-06-13 18:50:10 +0200 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2013-12-26 11:59:05 -0800 |
commit | d4fa852597ffab711675528f2baccb1a0fb3bc82 (patch) | |
tree | 7dc8adec59992ce41b57730fb3acca261ce25895 /builtin | |
parent | de40c413f0e600668db1ccbf5bdf34694c29843f (diff) | |
download | git-jl/submodule-recursive-checkout.tar.gz |
Teach checkout to recursively checkout submodulesjl/submodule-recursive-checkout
Signed-off-by: Jens Lehmann <Jens.Lehmann@web.de>
Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'builtin')
-rw-r--r-- | builtin/checkout.c | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/builtin/checkout.c b/builtin/checkout.c index 5df3837e31..ac2f8d819e 100644 --- a/builtin/checkout.c +++ b/builtin/checkout.c @@ -21,6 +21,9 @@ #include "submodule.h" #include "argv-array.h" +static const char *recurse_submodules_default = "off"; +static int recurse_submodules = RECURSE_SUBMODULES_DEFAULT; + static const char * const checkout_usage[] = { N_("git checkout [options] <branch>"), N_("git checkout [options] [<branch>] -- <file>..."), @@ -1111,6 +1114,12 @@ int cmd_checkout(int argc, const char **argv, const char *prefix) N_("do not limit pathspecs to sparse entries only")), OPT_HIDDEN_BOOL(0, "guess", &dwim_new_local_branch, N_("second guess 'git checkout no-such-branch'")), + { OPTION_CALLBACK, 0, "recurse-submodules", &recurse_submodules, + "checkout", "control recursive updating of submodules", + PARSE_OPT_OPTARG, option_parse_update_submodules }, + { OPTION_STRING, 0, "recurse-submodules-default", + &recurse_submodules_default, NULL, + "default mode for recursion", PARSE_OPT_HIDDEN }, OPT_END(), }; @@ -1132,6 +1141,11 @@ int cmd_checkout(int argc, const char **argv, const char *prefix) git_xmerge_config("merge.conflictstyle", conflict_style, NULL); } + set_config_update_recurse_submodules( + parse_fetch_recurse_submodules_arg("--recurse-submodules-default", + recurse_submodules_default), + recurse_submodules); + if ((!!opts.new_branch + !!opts.new_branch_force + !!opts.new_orphan_branch) > 1) die(_("-b, -B and --orphan are mutually exclusive")); |