Subject: [PATCH 0/4] branch --recurse-submodules: Bug fixes and clean ups

From: "Glen Choo via GitGitGadget" <[email-masked]>
Date: Tue, 29 Mar 2022 20:01:15 +0000

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/[email-masked]. 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