Hi Shourya, On Fri, Apr 17, 2020 at 02:34:54AM +0530, Shourya Shukla wrote: > The issues I am facing are: > > 1. The patch fails test #2 in t7420, i.e., the test to verify the working of 'set-url' > subcommand. The 'set-url' command implicitly runs sync once it is changed. I would go further than what Christian suggests and just call sync_submodule() (in C) at the end of module_set_url(). > 2. Though not an issue affecting the patch, but the 'usage' prompt of 'git submodule' > does not show the subcommands 'set-url' and 'set-branch'. Hmmm, the first of the pair, 'set-branch', was introduced in v2.22.0. It seems like you're running an older version of Git, 2.20.1. Stupid question but are you sure you're running the correct git? For me this runs correctly on the latest 'master': $ ./bin-wrappers/git submodule -h usage: git submodule [--quiet] [--cached] or: git submodule [--quiet] add [-b <branch>] [-f|--force] [--name <name>] [--reference <repository>] [--] <repository> [<path>] or: git submodule [--quiet] status [--cached] [--recursive] [--] [<path>...] or: git submodule [--quiet] init [--] [<path>...] or: git submodule [--quiet] deinit [-f|--force] (--all| [--] <path>...) or: git submodule [--quiet] update [--init] [--remote] [-N|--no-fetch] [-f|--force] [--checkout|--merge|--rebase] [--[no-]recommend-shallow] [--reference <repository>] [--recursive] [--[no-]single-branch] [--] [<path>...] or: git submodule [--quiet] set-branch (--default|--branch <branch>) [--] <path> or: git submodule [--quiet] set-url [--] <path> <newurl> or: git submodule [--quiet] summary [--cached|--files] [--summary-limit <n>] [commit] [--] [<path>...] or: git submodule [--quiet] foreach [--recursive] <command> or: git submodule [--quiet] sync [--recursive] [--] [<path>...] or: git submodule [--quiet] absorbgitdirs [--] [<path>...] Thanks, Denton