From: Junio C Hamano <gitster@pobox.com>
To: "Harald Nordgren via GitGitGadget" <gitgitgadget@gmail.com>
Cc: git@vger.kernel.org, Harald Nordgren <haraldnordgren@gmail.com>
Subject: Re: [PATCH v30 2/2] status: add status.compareBranches config for multiple branch comparisons
Date: Mon, 02 Mar 2026 15:52:50 -0800 [thread overview]
Message-ID: <xmqq1pi1wzzh.fsf@gitster.g> (raw)
In-Reply-To: <501bd402944146aa02fb5515783f6745eede28d3.1772102022.git.gitgitgadget@gmail.com> (Harald Nordgren via GitGitGadget's message of "Thu, 26 Feb 2026 10:33:42 +0000")
"Harald Nordgren via GitGitGadget" <gitgitgadget@gmail.com> writes:
> t/t6040-tracking-info.sh | 310 +++++++++++++++++++++++++++++++
> 3 files changed, 447 insertions(+), 28 deletions(-)
>
> diff --git a/t/t6040-tracking-info.sh b/t/t6040-tracking-info.sh
> index 0b719bbae6..c24f545036 100755
> --- a/t/t6040-tracking-info.sh
> +++ b/t/t6040-tracking-info.sh
> @@ -292,4 +292,314 @@ test_expect_success '--set-upstream-to @{-1}' '
> test_cmp expect actual
> '
>
> +test_expect_success 'status tracking origin/main shows only main' '
> + (
> + cd test &&
> + git checkout b4 &&
> + git status >../actual
> + ) &&
> + cat >expect <<-EOF &&
> + On branch b4
> + Your branch is ahead of ${SQ}origin/main${SQ} by 2 commits.
> + (use "git push" to publish your local commits)
> +
> + nothing to commit, working tree clean
> + EOF
> + test_cmp expect actual
> +'
> +
> +test_expect_success 'status --no-ahead-behind tracking origin/main shows only main' '
> + (
> + cd test &&
> + git checkout b4 &&
> + git status --no-ahead-behind >../actual
> + ) &&
> + cat >expect <<-EOF &&
> + On branch b4
> + Your branch and ${SQ}origin/main${SQ} refer to different commits.
> + (use "git status --ahead-behind" for details)
> +
> + nothing to commit, working tree clean
> + EOF
> + test_cmp expect actual
> +'
The above two uses ( cd test && git $command ) to do what it can do
with "git -C test $command", but the rest of the script seems to
mostly stick to the latter. Want to be a bit more consistent?
> +test_expect_success 'status.compareBranches from upstream has no duplicates' '
> + test_config -C test status.compareBranches "@{upstream} @{push}" &&
> + git -C test checkout main &&
> + git -C test status >actual &&
> + cat >expect <<-EOF &&
> + On branch main
> + Your branch is up to date with ${SQ}origin/main${SQ}.
> + nothing to commit, working tree clean
> + EOF
> + test_cmp expect actual
> +'
We see only one because... @{upstream} and @{push} are both
origin/main and we can dedupe and there is no extra advice needed?
If @{push} were missing and only @{upstream} existed, we would also
see just one, so this test feels a bit under-explained.
> +test_expect_success 'status.compareBranches shows ahead of both upstream and push branch' '
> + test_config -C test push.default current &&
> + test_config -C test status.compareBranches "@{upstream} @{push}" &&
> + git -C test checkout -b feature2 origin/main &&
> + git -C test push origin HEAD &&
> + (cd test && advance work) &&
One thing the "advance" function does is to call "test_tick" to
increment the mock timestamp, but the incremented mock timestamp
would not survive beyond the end of a subshell. Not that it matters
too much to have commits with the same timestamp in these tests, as
long as things are made more reproducible by use of the "advance"
function.
> + git -C test status >actual &&
> + cat >expect <<-EOF &&
> + On branch feature2
> + Your branch is ahead of ${SQ}origin/main${SQ} by 1 commit.
> +
> + Your branch is ahead of ${SQ}origin/feature2${SQ} by 1 commit.
> + (use "git push" to publish your local commits)
> +
> + nothing to commit, working tree clean
> + EOF
> + test_cmp expect actual
> +'
Very straight-forward If we ask for @{upstream} and @{push} that
resolve to different things, we would see two different reports.
I am curious what should [jc: not asking what the code happens to
do; wondering what the sensible behaviour to help users is] happen
when the user configures the variable to "@{push} @{upstream}
@{push}" in this case. Should we see just two entries (one for
@{push}, the other for @{upstream})?
I also am curious what should [jc: ditto] happen when @{upstream}
and @{push} point at the same origin/main and our current branch is
ahead by 1 commit. The pull side would say "you are ahead of
origin/main" and stop wile the push side would say the same thing
with advice to push it out for publishing? Or should they get
deduped?
> +test_expect_success 'checkout with status.compareBranches shows both branches' '
> + test_config -C test push.default current &&
> + test_config -C test status.compareBranches "@{upstream} @{push}" &&
> + git -C test checkout feature2 >actual &&
> + cat >expect <<-EOF &&
> + Your branch is ahead of ${SQ}origin/main${SQ} by 1 commit.
> +
> + Your branch is ahead of ${SQ}origin/feature2${SQ} by 1 commit.
> + (use "git push" to publish your local commits)
> + EOF
> + test_cmp expect actual
> +'
If the previous step succeeded, we would be on feature2 branch in
the "test" repository, so this checkout is a no-op-only-for-status
checkout and we expect to see the same thing as the previous step.
Good.
If the previous step failed, this step may break, but that is what
"cd t && sh t6040*.sh -i" is for ;-).
> +test_expect_success 'setup for ahead of tracked but diverged from main' '
> + (
> + cd test &&
> + git checkout -b feature4 origin/main &&
> + advance work1 &&
> + git checkout origin/main &&
> + advance work2 &&
> + git push origin HEAD:main &&
> + git checkout feature4 &&
> + advance work3
> + )
> +'
> +
> +test_expect_success 'status.compareBranches shows diverged and ahead' '
> + test_config -C test push.default current &&
> + test_config -C test status.compareBranches "@{upstream} @{push}" &&
> + git -C test checkout feature4 &&
> + git -C test branch --set-upstream-to origin/main &&
> + git -C test push origin HEAD &&
> + (cd test && advance work) &&
> + git -C test status >actual &&
> + cat >expect <<-EOF &&
> + On branch feature4
> + Your branch and ${SQ}origin/main${SQ} have diverged,
> + and have 3 and 1 different commits each, respectively.
> + (use "git pull" if you want to integrate the remote branch with yours)
> +
> + Your branch is ahead of ${SQ}origin/feature4${SQ} by 1 commit.
> + (use "git push" to publish your local commits)
> +
> + nothing to commit, working tree clean
> + EOF
> + test_cmp expect actual
> +'
Very understandable.
> +test_expect_success 'status --no-ahead-behind with status.compareBranches' '
> + test_config -C test push.default current &&
> + test_config -C test status.compareBranches "@{upstream} @{push}" &&
> + git -C test checkout feature4 &&
> + git -C test status --no-ahead-behind >actual &&
> + cat >expect <<-EOF &&
> + On branch feature4
> + Your branch and ${SQ}origin/main${SQ} refer to different commits.
> +
> + Your branch and ${SQ}origin/feature4${SQ} refer to different commits.
> + (use "git status --ahead-behind" for details)
> +
> + nothing to commit, working tree clean
> + EOF
> + test_cmp expect actual
> +'
OK.
> +test_expect_success 'setup upstream remote' '
> + (
> + cd test &&
> + git remote add upstream ../. &&
> + git fetch upstream
> + )
> +'
> +
> +test_expect_success 'status.compareBranches with upstream and origin remotes' '
> + test_config -C test push.default current &&
> + test_config -C test remote.pushDefault origin &&
> + test_config -C test status.compareBranches "@{upstream} @{push}" &&
> + git -C test checkout -b feature5 upstream/main &&
> + git -C test push origin &&
> + (cd test && advance work) &&
> + git -C test status >actual &&
> + cat >expect <<-EOF &&
> + On branch feature5
> + Your branch is ahead of ${SQ}upstream/main${SQ} by 1 commit.
> +
> + Your branch is ahead of ${SQ}origin/feature5${SQ} by 1 commit.
> + (use "git push" to publish your local commits)
> +
> + nothing to commit, working tree clean
> + EOF
> + test_cmp expect actual
> +'
OK. There aren't much essential difference from what we have
already seen so far, which dealt with remote tracking branch(es)
from a single remote repository. Instead of origin/{main,$feature},
we are now dealing with {upstream,origin}/{main,$feature} but we can
only pick one for @{upstream} and one for @{push}, we do not have to
worry about all 4 possible permutations.
> +test_expect_success 'status.compareBranches supports ordered upstream/push entries' '
> + test_config -C test push.default current &&
> + test_config -C test remote.pushDefault origin &&
> + test_config -C test status.compareBranches "@{push} @{upstream}" &&
> + git -C test checkout -b feature6 upstream/main &&
> + git -C test push origin &&
> + (cd test && advance work) &&
> + git -C test status >actual &&
> + cat >expect <<-EOF &&
> + On branch feature6
> + Your branch is ahead of ${SQ}origin/feature6${SQ} by 1 commit.
> + (use "git push" to publish your local commits)
> +
> + Your branch is ahead of ${SQ}upstream/main${SQ} by 1 commit.
> +
> + nothing to commit, working tree clean
> + EOF
> + test_cmp expect actual
> +'
Ah, I guess this example hints the answer to my earlier "@{push}
@{upstream} @{push}" question? The user can control the order of
entries shown by tweaking the order they list things on the
configuration variable. So we would see the one for @{push} and
then another for @{upstream}. We can show the one for @{push} again
after these two and claim that it is working as the user told us to,
or we can stop showing after showing @{push} and then @{upstream}
and claim that we are deduping. Either is fine, but we need to be
consistent and we need to have it documented.
> +test_expect_success 'status.compareBranches with diverged push branch' '
> + test_config -C test push.default current &&
> + test_config -C test remote.pushDefault origin &&
> + test_config -C test status.compareBranches "@{upstream} @{push}" &&
> + git -C test checkout -b feature7 upstream/main &&
> + (cd test && advance work71) &&
> + git -C test push origin &&
> + git -C test reset --hard upstream/main &&
> + (cd test && advance work72) &&
> + git -C test status >actual &&
> + cat >expect <<-EOF &&
> + On branch feature7
> + Your branch is ahead of ${SQ}upstream/main${SQ} by 1 commit.
> +
> + Your branch and ${SQ}origin/feature7${SQ} have diverged,
> + and have 1 and 1 different commits each, respectively.
> +
> + nothing to commit, working tree clean
> + EOF
> + test_cmp expect actual
> +'
The same as before, I guess. Nothing unexpected to see here, or in
the rest of the patch.
So td;lr is that the tests in this step mostly look great. It is
just the semantics of "dedup" is a bit unclear, without a test that
makes it clear (like the "@{push} @{upstream} @{push}" one), and
perhaps a bit more documentation how having multiple tokens on the
status.compareBranches variable affects the output. A (n easier)
half of that additional documentation could be as small as the
following, but I didn't attempt to deal with the "dedup" part.
Documentation/config/status.adoc | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git c/Documentation/config/status.adoc w/Documentation/config/status.adoc
index 15ccd0116b..e2c4a014a4 100644
--- c/Documentation/config/status.adoc
+++ w/Documentation/config/status.adoc
@@ -34,7 +34,8 @@ Example:
----
+
This would show comparisons against both the configured upstream and push
-tracking branches for the current branch.
+tracking branches for the current branch in this order (as that is how
+upstream and push appear in the value of the variable).
status.displayCommentPrefix::
If set to true, linkgit:git-status[1] will insert a comment
next prev parent reply other threads:[~2026-03-02 23:52 UTC|newest]
Thread overview: 259+ 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-12 7:34 ` Kristoffer Haugsbakk
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
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-12 14:45 ` Phillip Wood
2026-01-12 19:47 ` Harald Nordgren
2026-01-13 10:41 ` Phillip Wood
2026-01-13 12:11 ` 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-11 3:39 ` Junio C Hamano
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-12 20:26 ` [PATCH v23 0/2] " Harald Nordgren via GitGitGadget
2026-01-12 20:26 ` [PATCH v23 1/2] refactor format_branch_comparison in preparation Harald Nordgren via GitGitGadget
2026-01-12 20:26 ` [PATCH v23 2/2] status: show comparison with push remote tracking branch Harald Nordgren via GitGitGadget
2026-01-12 20:46 ` Junio C Hamano
2026-01-13 9:54 ` [PATCH v17 1/2] refactor format_branch_comparison in preparation Harald Nordgren
2026-01-13 9:55 ` [PATCH v24 0/2] status: show comparison with push remote tracking branch Harald Nordgren via GitGitGadget
2026-01-13 9:55 ` [PATCH v24 1/2] refactor format_branch_comparison in preparation Harald Nordgren via GitGitGadget
2026-01-13 9:55 ` [PATCH v24 2/2] status: show comparison with push remote tracking branch Harald Nordgren via GitGitGadget
2026-01-13 12:11 ` [PATCH v25 0/2] " Harald Nordgren via GitGitGadget
2026-01-13 12:11 ` [PATCH v25 1/2] refactor format_branch_comparison in preparation Harald Nordgren via GitGitGadget
2026-01-13 12:11 ` [PATCH v25 2/2] status: show comparison with push remote tracking branch Harald Nordgren via GitGitGadget
2026-01-13 17:03 ` Jeff King
2026-01-13 18:35 ` Triangular workflow Harald Nordgren
2026-01-13 21:40 ` Jeff King
2026-01-13 23:01 ` Harald Nordgren
2026-01-14 2:22 ` D. Ben Knoble
2026-01-14 7:59 ` Harald Nordgren
2026-01-14 21:38 ` Ben Knoble
2026-01-14 2:34 ` Jeff King
2026-01-14 7:53 ` Harald Nordgren
2026-01-14 16:24 ` Jeff King
2026-01-14 17:48 ` Harald Nordgren
2026-01-14 21:01 ` Jeff King
2026-01-14 21:38 ` Ben Knoble
2026-01-14 22:17 ` Jeff King
2026-01-15 16:17 ` D. Ben Knoble
2026-01-14 14:15 ` Junio C Hamano
2026-01-14 18:54 ` Junio C Hamano
2026-01-14 21:10 ` Jeff King
2026-01-14 21:38 ` Ben Knoble
2026-01-14 23:08 ` Harald Nordgren
2026-01-19 5:58 ` Chris Torek
2026-01-20 8:35 ` Harald Nordgren
2026-01-14 23:12 ` Harald Nordgren
2026-01-14 23:31 ` Junio C Hamano
2026-01-18 19:58 ` Harald Nordgren
2026-01-15 10:31 ` [PATCH v25 2/2] status: show comparison with push remote tracking branch Phillip Wood
2026-01-15 13:38 ` Junio C Hamano
2026-01-15 19:53 ` Jeff King
2026-01-18 19:59 ` [PATCH v26 0/2] status: add status.compareBranches config for multiple branch comparisons Harald Nordgren via GitGitGadget
2026-01-18 19:59 ` [PATCH v26 1/2] refactor format_branch_comparison in preparation Harald Nordgren via GitGitGadget
2026-01-18 19:59 ` [PATCH v26 2/2] status: add status.compareBranches config for multiple branch comparisons Harald Nordgren via GitGitGadget
2026-01-19 5:14 ` Jeff King
2026-01-20 9:49 ` Memory leak Harald Nordgren
2026-01-20 13:22 ` Harald Nordgren
2026-01-20 21:42 ` Junio C Hamano
2026-01-21 18:47 ` Junio C Hamano
2026-01-21 20:49 ` Jeff King
2026-01-22 15:03 ` Harald Nordgren
2026-01-22 18:19 ` Junio C Hamano
2026-01-22 15:37 ` [PATCH v27 0/2] status: add status.compareBranches config for multiple branch comparisons Harald Nordgren via GitGitGadget
2026-01-22 15:37 ` [PATCH v27 1/2] refactor format_branch_comparison in preparation Harald Nordgren via GitGitGadget
2026-01-22 15:37 ` [PATCH v27 2/2] status: add status.compareBranches config for multiple branch comparisons Harald Nordgren via GitGitGadget
2026-01-22 19:07 ` Jeff King
2026-01-22 19:22 ` [PATCH v27 0/2] " Harald Nordgren
2026-01-22 20:18 ` Junio C Hamano
2026-01-22 20:37 ` [PATCH v27 2/2] " Junio C Hamano
2026-01-22 20:56 ` Harald Nordgren
2026-01-22 21:11 ` Junio C Hamano
2026-01-22 21:36 ` Junio C Hamano
2026-01-22 22:01 ` Jeff King
2026-01-22 22:44 ` Jeff King
2026-01-22 23:06 ` Jeff King
2026-01-24 8:50 ` Harald Nordgren
2026-01-25 17:29 ` Junio C Hamano
2026-02-08 13:33 ` Harald Nordgren
2026-01-22 23:14 ` Junio C Hamano
2026-01-22 18:53 ` [PATCH v27 0/2] " Junio C Hamano
2026-01-22 19:09 ` Harald Nordgren
2026-01-22 19:20 ` Junio C Hamano
2026-01-22 19:24 ` Harald Nordgren
2026-01-22 20:07 ` [PATCH v28 " Harald Nordgren via GitGitGadget
2026-01-22 20:07 ` [PATCH v28 1/2] refactor format_branch_comparison in preparation Harald Nordgren via GitGitGadget
2026-01-22 20:07 ` [PATCH v28 2/2] status: add status.compareBranches config for multiple branch comparisons Harald Nordgren via GitGitGadget
2026-02-21 8:02 ` Harald Nordgren
2026-02-21 17:17 ` Junio C Hamano
2026-02-22 14:50 ` D. Ben Knoble
2026-02-23 13:30 ` Jeff King
2026-02-24 19:36 ` Harald Nordgren
2026-02-24 22:21 ` Junio C Hamano
2026-02-25 10:22 ` Harald Nordgren
2026-02-25 15:44 ` Junio C Hamano
2026-02-25 16:08 ` Jeff King
2026-02-25 16:52 ` Junio C Hamano
2026-02-26 13:50 ` Harald Nordgren
2026-02-25 17:04 ` D. Ben Knoble
2026-02-25 21:51 ` [PATCH v29 0/2] " Harald Nordgren via GitGitGadget
2026-02-25 21:51 ` [PATCH v29 1/2] refactor format_branch_comparison in preparation Harald Nordgren via GitGitGadget
2026-02-25 21:51 ` [PATCH v29 2/2] status: add status.compareBranches config for multiple branch comparisons Harald Nordgren via GitGitGadget
2026-02-25 23:18 ` Junio C Hamano
2026-02-26 13:47 ` Harald Nordgren
2026-02-26 10:33 ` [PATCH v30 0/2] " Harald Nordgren via GitGitGadget
2026-02-26 10:33 ` [PATCH v30 1/2] refactor format_branch_comparison in preparation Harald Nordgren via GitGitGadget
2026-02-26 10:33 ` [PATCH v30 2/2] status: add status.compareBranches config for multiple branch comparisons Harald Nordgren via GitGitGadget
2026-03-02 23:52 ` Junio C Hamano [this message]
2026-03-04 10:30 ` [PATCH v30 0/2] " Harald Nordgren
2026-02-26 15:28 ` Junio C Hamano
2026-03-01 19:06 ` Harald Nordgren
2026-03-01 19:25 ` Kristoffer Haugsbakk
2026-03-02 16:52 ` Junio C Hamano
2026-03-04 12:25 ` [PATCH v31 " Harald Nordgren via GitGitGadget
2026-03-04 12:25 ` [PATCH v31 1/2] refactor format_branch_comparison in preparation Harald Nordgren via GitGitGadget
2026-03-04 12:25 ` [PATCH v31 2/2] status: add status.compareBranches config for multiple branch comparisons Harald Nordgren via GitGitGadget
2026-03-04 17:05 ` [PATCH v31 0/2] " Junio C Hamano
2026-03-09 9:20 ` Harald Nordgren
2026-03-09 15:10 ` Junio C Hamano
2026-01-10 17:41 ` [PATCH v20 0/2] status: show comparison with push remote tracking branch Junio C Hamano
2026-01-10 19:06 ` Harald Nordgren
2026-01-12 7:33 ` Kristoffer Haugsbakk
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=xmqq1pi1wzzh.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 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.