This a catch-all series that address some bugs discovered while testing "git branch --recurse-submodules" (patches 1-2), as well as some clean ups that came up when "branch --recurse-submodules" was first proposed (patches 3-4). == Patch organization Patches 1-2 are bugfixes, 3-4 are clean ups. * Patch 1 fixes a bug where "git branch --recurse-submodules" would not propagate the "--track" option if its value was "--no-track" or "--track=inherit". * Patch 2 fixes a bug where "git branch --recurse-submodules" would give advice before telling the user what the problem is (instead of the other way around). * Patch 3 fixes some old inconsistencies when "git branch --set-upstream-to" gives advice and when it doesn't. * Patch 4 replaces exit(-1) with exit(1). == Outstanding concerns Patch 4: exit(1) was suggested in https://lore.kernel.org/git/211210.86ee6ldwlc.gmgdl@xxxxxxxxxxxxxxxxxxx. I'm not sure if we have a strong convention around exit codes and I'm using "1" as "unspecified error. Perhaps others could chime in. Glen Choo (4): branch: support more tracking modes when recursing branch: give submodule updating advice before exit branch --set-upstream-to: be consistent when advising branch: remove negative exit code branch.c | 42 ++++++++++++++++++++++++++++++------- builtin/submodule--helper.c | 7 ++++--- t/t3207-branch-submodule.sh | 38 ++++++++++++++++++++++++++++++++- 3 files changed, 75 insertions(+), 12 deletions(-) base-commit: abf474a5dd901f28013c52155411a48fd4c09922 Published-As: https://github.com/gitgitgadget/git/releases/tag/pr-1190%2Fchooglen%2Fbranch%2Frecursive-fixes-v1 Fetch-It-Via: git fetch https://github.com/gitgitgadget/git pr-1190/chooglen/branch/recursive-fixes-v1 Pull-Request: https://github.com/gitgitgadget/git/pull/1190 -- gitgitgadget