From: Junio C Hamano <gitster@pobox.com>
To: Harald Nordgren <haraldnordgren@gmail.com>
Cc: git@vger.kernel.org, gitgitgadget@gmail.com
Subject: Re: Another look?
Date: Tue, 06 Jan 2026 07:13:04 +0900 [thread overview]
Message-ID: <xmqq5x9flndb.fsf@gitster.g> (raw)
In-Reply-To: <20260105131654.88348-1-haraldnordgren@gmail.com> (Harald Nordgren's message of "Mon, 5 Jan 2026 14:16:54 +0100")
Harald Nordgren <haraldnordgren@gmail.com> writes:
>> Please don't. Unless my assumption, which is that in the old code
>> "!sti" and "!ours && !theirs" is equivalent, is wrong, all you need
>> to do around that part is to first check "if (!ours && !theirs)" and
>> say "your branch is up to date with...", and then have the check
>> "else if (abf == ABQ)" next. That way, when we check abf we know
>> the branches are different.
>
> It seems to be an incorrect assumption. This code change breaks several
> tests including old ones:
>
> ```
> diff --git a/remote.c b/remote.c
> index 1f87b85b22..8db4fcd7b5 100644
> --- a/remote.c
> +++ b/remote.c
> @@ -2303,7 +2303,7 @@ static void format_branch_comparison(struct strbuf *sb,
> enum branch_mode_flags advice_flags,
> int show_divergence_advice)
> {
> - if (!sti) {
> + if (!ours && !theirs) {
> strbuf_addf(sb,
> _("Your branch is up to date with '%s'.\n"),
> branch_name);
> ```
>
>
> Harald
That is unexpected.
Looking at what stat_branch_pair() does, before returning 0, the
function always clears *num_theirs and *num_ours, so there is
something else going on.
If your caller is *not* initializing ours and theirs, and if it is
not detecting an error return from stat_tracking_info, and the test
code is trying to see when stat_branch_info() signals failure by
returning -1, then I can understand why the above change makes a
difference (i.e., your code above with or without sti -> ours/theirs
change is broken), but then, that should be handled at the caller of
stat_tracking_info() by noticing its return value being negative, I
would have to say.
next prev parent reply other threads:[~2026-01-05 22:13 UTC|newest]
Thread overview: 146+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-12-23 0:53 [PATCH] status: show default branch comparison when tracking non-default branch Harald Nordgren via GitGitGadget
2025-12-23 5:32 ` Junio C Hamano
2025-12-23 10:24 ` Harald Nordgren
2025-12-23 11:36 ` Harald Nordgren
2025-12-23 12:23 ` Chris Torek
2025-12-23 14:18 ` Harald Nordgren
2025-12-23 14:22 ` Chris Torek
2026-01-01 19:59 ` Another look? Harald Nordgren
2025-12-23 13:32 ` [PATCH] status: show default branch comparison when tracking non-default branch Junio C Hamano
2025-12-23 14:09 ` Harald Nordgren
2025-12-23 22:54 ` [PATCH v2 0/2] " Harald Nordgren via GitGitGadget
2025-12-23 22:54 ` [PATCH v2 1/2] status: show comparison with upstream default branch Harald Nordgren via GitGitGadget
2025-12-24 1:30 ` brian m. carlson
2025-12-24 1:46 ` Junio C Hamano
2026-01-01 20:01 ` Another look? Harald Nordgren
2025-12-23 22:54 ` [PATCH v2 2/2] Simplify default branch comparison logic Harald Nordgren via GitGitGadget
2025-12-24 0:00 ` [PATCH] status: show default branch comparison when tracking non-default branch Harald Nordgren
2025-12-24 9:31 ` [PATCH v3 0/3] " Harald Nordgren via GitGitGadget
2025-12-24 9:31 ` [PATCH v3 1/3] status: show comparison with upstream default branch Harald Nordgren via GitGitGadget
2025-12-24 9:31 ` [PATCH v3 2/3] Simplify default branch comparison logic Harald Nordgren via GitGitGadget
2025-12-24 9:31 ` [PATCH v3 3/3] Use repo.settings.statusGoalBranch config for status comparison Harald Nordgren via GitGitGadget
2025-12-24 10:19 ` [PATCH v4 0/4] status: show default branch comparison when tracking non-default branch Harald Nordgren via GitGitGadget
2025-12-24 10:19 ` [PATCH v4 1/4] status: show comparison with upstream default branch Harald Nordgren via GitGitGadget
2025-12-24 10:19 ` [PATCH v4 2/4] Simplify default branch comparison logic Harald Nordgren via GitGitGadget
2025-12-24 10:19 ` [PATCH v4 3/4] Use repo.settings.statusGoalBranch config for status comparison Harald Nordgren via GitGitGadget
2025-12-24 10:19 ` [PATCH v4 4/4] Rename default_remote to goal_branch Harald Nordgren via GitGitGadget
2025-12-24 10:38 ` [PATCH v5 0/5] status: show default branch comparison when tracking non-default branch Harald Nordgren via GitGitGadget
2025-12-24 10:38 ` [PATCH v5 1/5] status: show comparison with upstream default branch Harald Nordgren via GitGitGadget
2025-12-24 10:38 ` [PATCH v5 2/5] Simplify default branch comparison logic Harald Nordgren via GitGitGadget
2025-12-24 10:38 ` [PATCH v5 3/5] Use repo.settings.statusGoalBranch config for status comparison Harald Nordgren via GitGitGadget
2025-12-24 10:38 ` [PATCH v5 4/5] Rename default_remote to goal_branch Harald Nordgren via GitGitGadget
2025-12-24 10:38 ` [PATCH v5 5/5] Add warning for malformed statusGoalBranch config Harald Nordgren via GitGitGadget
2025-12-24 23:41 ` [PATCH v6 0/6] status: show default branch comparison when tracking non-default branch Harald Nordgren via GitGitGadget
2025-12-24 23:41 ` [PATCH v6 1/6] status: show comparison with upstream default branch Harald Nordgren via GitGitGadget
2025-12-24 23:41 ` [PATCH v6 2/6] Simplify default branch comparison logic Harald Nordgren via GitGitGadget
2025-12-24 23:41 ` [PATCH v6 3/6] Use repo.settings.statusGoalBranch config for status comparison Harald Nordgren via GitGitGadget
2025-12-24 23:41 ` [PATCH v6 4/6] Rename default_remote to goal_branch Harald Nordgren via GitGitGadget
2025-12-24 23:41 ` [PATCH v6 5/6] Add warning for malformed statusGoalBranch config Harald Nordgren via GitGitGadget
2025-12-24 23:41 ` [PATCH v6 6/6] Change config key to status.compareBranch Harald Nordgren via GitGitGadget
2025-12-25 8:00 ` [PATCH v6 0/6] status: show default branch comparison when tracking non-default branch Junio C Hamano
2025-12-25 9:45 ` [PATCH] " Harald Nordgren
2025-12-26 1:59 ` Junio C Hamano
2025-12-26 10:58 ` Harald Nordgren
2025-12-25 9:45 ` [PATCH v7] status: additional comparison with goal branch Harald Nordgren via GitGitGadget
2025-12-25 12:33 ` [PATCH v8] status: show comparison with configured " Harald Nordgren via GitGitGadget
2025-12-28 9:16 ` Code review? Harald Nordgren
2025-12-28 19:37 ` Junio C Hamano
2025-12-28 20:16 ` Harald Nordgren
2025-12-28 23:09 ` Ben Knoble
2025-12-29 12:17 ` Triangular workflows Harald Nordgren
2026-01-01 19:49 ` Code review? Harald Nordgren
2025-12-30 16:08 ` Harald Nordgren
2025-12-28 11:46 ` [PATCH v8] status: show comparison with configured goal branch Junio C Hamano
2025-12-28 15:46 ` Code review? Harald Nordgren
2025-12-28 15:41 ` [PATCH v9 0/2] status: show comparison with configured goal branch Harald Nordgren via GitGitGadget
2025-12-28 15:41 ` [PATCH v9 1/2] " Harald Nordgren via GitGitGadget
2025-12-28 15:41 ` [PATCH v9 2/2] improve tests Harald Nordgren via GitGitGadget
2025-12-30 16:08 ` [PATCH v10 0/3] status: show additional comparison with push branch when different from tracking branch Harald Nordgren via GitGitGadget
2025-12-30 16:08 ` [PATCH v10 1/3] status: show comparison with configured goal branch Harald Nordgren via GitGitGadget
2025-12-30 16:08 ` [PATCH v10 2/3] improve tests Harald Nordgren via GitGitGadget
2025-12-30 16:08 ` [PATCH v10 3/3] use pushRemote and tracking branch Harald Nordgren via GitGitGadget
2026-01-01 23:09 ` [PATCH v10 0/3] status: show additional comparison with push branch when different from " Junio C Hamano
2026-01-01 23:38 ` Another look? Harald Nordgren
2026-01-02 9:48 ` Kristoffer Haugsbakk
2026-01-02 11:20 ` Harald Nordgren
2026-01-04 2:17 ` Junio C Hamano
2026-01-04 2:41 ` Nico Williams
2026-01-04 4:17 ` Junio C Hamano
2026-01-05 21:55 ` D. Ben Knoble
2026-01-02 11:17 ` [PATCH v11] status: show comparison with push remote tracking branch Harald Nordgren via GitGitGadget
2026-01-02 15:18 ` Phillip Wood
2026-01-02 20:27 ` Another look? Harald Nordgren
2026-01-03 10:04 ` Phillip Wood
2026-01-03 13:00 ` Harald Nordgren
2026-01-02 21:34 ` [PATCH v12 0/2] status: show comparison with push remote tracking branch Harald Nordgren via GitGitGadget
2026-01-02 21:34 ` [PATCH v12 1/2] refactor: format_branch_comparison in preparation Harald Nordgren via GitGitGadget
2026-01-02 21:34 ` [PATCH v12 2/2] status: show comparison with push remote tracking branch Harald Nordgren via GitGitGadget
2026-01-03 3:08 ` [PATCH v13 0/2] " Harald Nordgren via GitGitGadget
2026-01-03 3:08 ` [PATCH v13 1/2] refactor: format_branch_comparison in preparation Harald Nordgren via GitGitGadget
2026-01-03 3:08 ` [PATCH v13 2/2] status: show comparison with push remote tracking branch Harald Nordgren via GitGitGadget
2026-01-03 13:00 ` [PATCH v14 0/2] " Harald Nordgren via GitGitGadget
2026-01-03 13:00 ` [PATCH v14 1/2] refactor: format_branch_comparison in preparation Harald Nordgren via GitGitGadget
2026-01-04 4:40 ` Junio C Hamano
2026-01-04 10:27 ` Another look? Harald Nordgren
2026-01-04 10:48 ` Harald Nordgren
2026-01-05 1:16 ` Junio C Hamano
2026-01-03 13:00 ` [PATCH v14 2/2] status: show comparison with push remote tracking branch Harald Nordgren via GitGitGadget
2026-01-04 11:53 ` [PATCH v15 0/2] " Harald Nordgren via GitGitGadget
2026-01-04 11:53 ` [PATCH v15 1/2] refactor format_branch_comparison in preparation Harald Nordgren via GitGitGadget
2026-01-04 11:53 ` [PATCH v15 2/2] status: show comparison with push remote tracking branch Harald Nordgren via GitGitGadget
2026-01-04 23:21 ` [PATCH v16 0/2] " Harald Nordgren via GitGitGadget
2026-01-04 23:21 ` [PATCH v16 1/2] refactor format_branch_comparison in preparation Harald Nordgren via GitGitGadget
2026-01-05 2:05 ` Junio C Hamano
2026-01-05 9:15 ` Another look? Harald Nordgren
2026-01-05 9:46 ` Harald Nordgren
2026-01-05 12:28 ` Junio C Hamano
2026-01-05 13:16 ` Harald Nordgren
2026-01-05 22:13 ` Junio C Hamano [this message]
2026-01-06 0:08 ` ABQ Harald Nordgren
2026-01-08 10:19 ` ABQ Harald Nordgren
2026-01-04 23:21 ` [PATCH v16 2/2] status: show comparison with push remote tracking branch Harald Nordgren via GitGitGadget
2026-01-05 10:17 ` [PATCH v17 0/2] " Harald Nordgren via GitGitGadget
2026-01-05 10:17 ` [PATCH v17 1/2] refactor format_branch_comparison in preparation Harald Nordgren via GitGitGadget
2026-01-09 14:56 ` Phillip Wood
2026-01-09 15:23 ` Harald Nordgren
2026-01-05 10:17 ` [PATCH v17 2/2] status: show comparison with push remote tracking branch Harald Nordgren via GitGitGadget
2026-01-09 14:56 ` Phillip Wood
2026-01-09 16:00 ` [PATCH v17 1/2] refactor format_branch_comparison in preparation Harald Nordgren
2026-01-09 16:22 ` Ben Knoble
2026-01-09 16:32 ` Patrick Steinhardt
2026-01-09 18:03 ` Harald Nordgren
2026-01-09 16:41 ` [PATCH v18 0/2] status: show comparison with push remote tracking branch Harald Nordgren via GitGitGadget
2026-01-09 16:41 ` [PATCH v18 1/2] refactor format_branch_comparison in preparation Harald Nordgren via GitGitGadget
2026-01-09 16:41 ` [PATCH v18 2/2] status: show comparison with push remote tracking branch Harald Nordgren via GitGitGadget
2026-01-09 18:40 ` [PATCH v19 0/2] " Harald Nordgren via GitGitGadget
2026-01-09 18:40 ` [PATCH v19 1/2] refactor format_branch_comparison in preparation Harald Nordgren via GitGitGadget
2026-01-10 2:02 ` Junio C Hamano
2026-01-09 18:40 ` [PATCH v19 2/2] status: show comparison with push remote tracking branch Harald Nordgren via GitGitGadget
2026-01-10 2:13 ` Junio C Hamano
2026-01-10 11:14 ` [PATCH v17 1/2] refactor format_branch_comparison in preparation Harald Nordgren
2026-01-10 17:34 ` Junio C Hamano
2026-01-10 2:21 ` [PATCH v19 2/2] status: show comparison with push remote tracking branch Junio C Hamano
2026-01-10 11:06 ` [PATCH v17 1/2] refactor format_branch_comparison in preparation Harald Nordgren
2026-01-10 14:44 ` Harald Nordgren
2026-01-10 17:31 ` Junio C Hamano
2026-01-10 20:04 ` Harald Nordgren
2026-01-10 13:30 ` [PATCH v20 0/2] status: show comparison with push remote tracking branch Harald Nordgren via GitGitGadget
2026-01-10 13:30 ` [PATCH v20 1/2] refactor format_branch_comparison in preparation Harald Nordgren via GitGitGadget
2026-01-10 13:30 ` [PATCH v20 2/2] status: show comparison with push remote tracking branch Harald Nordgren via GitGitGadget
2026-01-10 15:24 ` [PATCH v21 0/2] " Harald Nordgren via GitGitGadget
2026-01-10 15:24 ` [PATCH v21 1/2] refactor format_branch_comparison in preparation Harald Nordgren via GitGitGadget
2026-01-10 15:24 ` [PATCH v21 2/2] status: show comparison with push remote tracking branch Harald Nordgren via GitGitGadget
2026-01-10 19:56 ` [PATCH v22 0/2] " Harald Nordgren via GitGitGadget
2026-01-10 19:56 ` [PATCH v22 1/2] refactor format_branch_comparison in preparation Harald Nordgren via GitGitGadget
2026-01-10 19:56 ` [PATCH v22 2/2] status: show comparison with push remote tracking branch Harald Nordgren via GitGitGadget
2026-01-10 17:41 ` [PATCH v20 0/2] " Junio C Hamano
2026-01-10 19:06 ` Harald Nordgren
2025-12-23 23:11 ` [PATCH] status: show default branch comparison when tracking non-default branch Yee Cheng Chin
2025-12-23 23:59 ` Harald Nordgren
2025-12-24 0:55 ` Yee Cheng Chin
2025-12-24 0:38 ` Junio C Hamano
2025-12-24 0:49 ` Yee Cheng Chin
2025-12-24 1:44 ` Junio C Hamano
2025-12-24 10:24 ` Harald Nordgren
2026-01-01 20:05 ` Another look? Harald Nordgren
2025-12-24 1:12 ` [PATCH] status: show default branch comparison when tracking non-default branch Harald Nordgren
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=xmqq5x9flndb.fsf@gitster.g \
--to=gitster@pobox.com \
--cc=git@vger.kernel.org \
--cc=gitgitgadget@gmail.com \
--cc=haraldnordgren@gmail.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).