Shourya Shukla <shouryashukla.oo@xxxxxxxxx> writes: > Convert submodule subcommand 'set-branch' to a builtin and call it via > 'git-submodule.sh'. > > Mentored-by: Christian Couder <chriscool@xxxxxxxxxxxxx> > Mentored-by: Kaartic Sivaraam <kaartic.sivaraam@xxxxxxxxx> > Helped-by: Denton Liu <liu.denton@xxxxxxxxx> > Helped-by: Eric Sunshine <sunshine@xxxxxxxxxxxxxx> > Helped-by: Đoàn Trần Công Danh <congdanhqx@xxxxxxxxx> > Signed-off-by: Shourya Shukla <shouryashukla.oo@xxxxxxxxx> > --- > Here is the v5 of the subcommand. Thank you Danh for the feedback! I > apologise for not replying on time. I have taken into account Danh's > suggestions on the `quiet` option as well as done the fixup Dscho > suggested (fixed by Junio here: > https://github.com/gitster/git/commit/77ba62f66ff8e3de54d81c240542edb42a2711c7) > > builtin/submodule--helper.c | 44 +++++++++++++++++++++++++++++++++++++ > git-submodule.sh | 32 +++------------------------ > 2 files changed, 47 insertions(+), 29 deletions(-) > > diff --git a/builtin/submodule--helper.c b/builtin/submodule--helper.c > index f50745a03f..a974e17571 100644 > --- a/builtin/submodule--helper.c > +++ b/builtin/submodule--helper.c > @@ -2284,6 +2284,49 @@ static int module_set_url(int argc, const char **argv, const char *prefix) > return 0; > } > > +static int module_set_branch(int argc, const char **argv, const char *prefix) > +{ > + int opt_default = 0, ret; > + const char *opt_branch = NULL; > + const char *path; > + char *config_name; > + > + /* > + * We accept the `quiet` option for uniformity across subcommands, > + * though there is nothing to make less verbose in this subcommand. > + */ > + struct option options[] = { > + OPT_NOOP_NOARG('q', "quiet"), > + OPT_BOOL('d', "default", &opt_default, > + N_("set the default tracking branch to master")), > + OPT_STRING('b', "branch", &opt_branch, N_("branch"), > + N_("set the default tracking branch")), > ... > + OPT_END() > + }; > + const char *const usage[] = { > + N_("git submodule--helper set-branch [-q|--quiet] (-d|--default) <path>"), > + N_("git submodule--helper set-branch [-q|--quiet] (-b|--branch) <branch> <path>"), I notice that we gained back -d and -b shorthands that was advertised but not implemented the previous rounds. It is a bit curious that we are adding these short-hands that nobody uses, though. Will queue. Thanks.