From: "Glen Choo via GitGitGadget" <gitgitgadget@gmail.com>
To: git@vger.kernel.org
Cc: "Ævar Arnfjörð Bjarmason" <avarab@gmail.com>,
"Jonathan Tan" <jonathantanmy@google.com>,
"Junio C Hamano" <gitster@pobox.com>,
"Glen Choo" <chooglen@google.com>
Subject: [PATCH v2 0/4] branch --recurse-submodules: Bug fixes and clean ups
Date: Thu, 31 Mar 2022 18:49:57 +0000 [thread overview]
Message-ID: <pull.1190.v2.git.1648752601.gitgitgadget@gmail.com> (raw)
In-Reply-To: <pull.1190.git.1648584079.gitgitgadget@gmail.com>
Thanks for the feedback, all. This version incorporates most of the
suggestions (which were pretty small anyway).
== 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).
== Changes
Since v1:
* Patch 1: reword the --track comments to be prescriptive
* Patch 3: remove a now-unnecessary die(). I didn't include a suggestion to
inline the advice string to save reviewers the trouble of proofreading
(and the format string has no placeholders anyway, so I don't think we'd
get much benefit out of typechecking). We can inline it in another
series.
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 | 47 +++++++++++++++++++++++++++----------
builtin/submodule--helper.c | 7 +++---
t/t3207-branch-submodule.sh | 38 +++++++++++++++++++++++++++++-
3 files changed, 76 insertions(+), 16 deletions(-)
base-commit: abf474a5dd901f28013c52155411a48fd4c09922
Published-As: https://github.com/gitgitgadget/git/releases/tag/pr-1190%2Fchooglen%2Fbranch%2Frecursive-fixes-v2
Fetch-It-Via: git fetch https://github.com/gitgitgadget/git pr-1190/chooglen/branch/recursive-fixes-v2
Pull-Request: https://github.com/gitgitgadget/git/pull/1190
Range-diff vs v1:
1: 0b682c173c8 ! 1: 5e96a09199f branch: support more tracking modes when recursing
@@ branch.c: static int submodule_create_branch(struct repository *r,
+ strvec_push(&child.args, "--track=inherit");
+ break;
+ case BRANCH_TRACK_UNSPECIFIED:
-+ /* Default for "git checkout". No need to pass --track. */
++ /* Default for "git checkout". Do not pass --track. */
+ case BRANCH_TRACK_REMOTE:
-+ /* Default for "git branch". No need to pass --track. */
++ /* Default for "git branch". Do not pass --track. */
+ break;
+ }
2: f21d283e5ad = 2: 74b839bfc4e branch: give submodule updating advice before exit
3: 8e6ea3478b3 ! 3: 64d9b8e0f44 branch --set-upstream-to: be consistent when advising
@@ Commit message
[1] https://lore.kernel.org/git/211210.86ee6ldwlc.gmgdl@evledraar.gmail.com
+ Helped-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
Signed-off-by: Glen Choo <chooglen@google.com>
## branch.c ##
@@ branch.c: static void dwim_branch_start(struct repository *r, const char *start_name,
+ real_ref = NULL;
if (get_oid_mb(start_name, &oid)) {
if (explicit_tracking) {
- if (advice_enabled(ADVICE_SET_UPSTREAM_FAILURE)) {
+- if (advice_enabled(ADVICE_SET_UPSTREAM_FAILURE)) {
- error(_(upstream_missing), start_name);
-+ int code = die_message(_(upstream_missing),
-+ start_name);
- advise(_(upstream_advice));
+- advise(_(upstream_advice));
- exit(1);
-+ exit(code);
- }
- die(_(upstream_missing), start_name);
+- }
+- die(_(upstream_missing), start_name);
++ int code = die_message(_(upstream_missing), start_name);
++ advise_if_enabled(ADVICE_SET_UPSTREAM_FAILURE,
++ _(upstream_advice));
++ exit(code);
}
+ die(_("not a valid object name: '%s'"), start_name);
+ }
4: fb2b472d9ae = 4: 306858373cc branch: remove negative exit code
--
gitgitgadget
next prev parent reply other threads:[~2022-03-31 18:50 UTC|newest]
Thread overview: 21+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-03-29 20:01 [PATCH 0/4] branch --recurse-submodules: Bug fixes and clean ups Glen Choo via GitGitGadget
2022-03-29 20:01 ` [PATCH 1/4] branch: support more tracking modes when recursing Glen Choo via GitGitGadget
2022-03-30 21:13 ` Junio C Hamano
2022-03-30 23:29 ` Glen Choo
2022-03-29 20:01 ` [PATCH 2/4] branch: give submodule updating advice before exit Glen Choo via GitGitGadget
2022-03-30 21:15 ` Junio C Hamano
2022-03-29 20:01 ` [PATCH 3/4] branch --set-upstream-to: be consistent when advising Glen Choo via GitGitGadget
2022-03-30 22:28 ` Ævar Arnfjörð Bjarmason
2022-03-31 16:52 ` Glen Choo
2022-03-29 20:01 ` [PATCH 4/4] branch: remove negative exit code Glen Choo via GitGitGadget
2022-03-31 18:49 ` Glen Choo via GitGitGadget [this message]
2022-03-31 18:49 ` [PATCH v2 1/4] branch: support more tracking modes when recursing Glen Choo via GitGitGadget
2022-03-31 18:49 ` [PATCH v2 2/4] branch: give submodule updating advice before exit Glen Choo via GitGitGadget
2022-03-31 18:50 ` [PATCH v2 3/4] branch --set-upstream-to: be consistent when advising Glen Choo via GitGitGadget
2022-03-31 18:50 ` [PATCH v2 4/4] branch: remove negative exit code Glen Choo via GitGitGadget
2022-03-31 22:39 ` [PATCH v2 0/4] branch --recurse-submodules: Bug fixes and clean ups Junio C Hamano
2022-03-31 22:41 ` [PATCH 1/2] branch: rework comments for future developers Junio C Hamano
2022-03-31 22:41 ` [PATCH 2/2] branch.c: simplify advice-and-die sequence Junio C Hamano
2022-04-01 10:03 ` Ævar Arnfjörð Bjarmason
2022-04-01 16:59 ` [PATCH v2 0/4] branch --recurse-submodules: Bug fixes and clean ups Glen Choo
2022-04-01 20:14 ` Junio C Hamano
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=pull.1190.v2.git.1648752601.gitgitgadget@gmail.com \
--to=gitgitgadget@gmail.com \
--cc=avarab@gmail.com \
--cc=chooglen@google.com \
--cc=git@vger.kernel.org \
--cc=gitster@pobox.com \
--cc=jonathantanmy@google.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.