From: "Harald Nordgren via GitGitGadget" <gitgitgadget@gmail.com>
To: git@vger.kernel.org
Cc: Harald Nordgren <haraldnordgren@gmail.com>
Subject: [PATCH v30 0/2] status: add status.compareBranches config for multiple branch comparisons
Date: Thu, 26 Feb 2026 10:33:40 +0000 [thread overview]
Message-ID: <pull.2138.v30.git.git.1772102022.gitgitgadget@gmail.com> (raw)
In-Reply-To: <pull.2138.v29.git.git.1772056263.gitgitgadget@gmail.com>
cc: Chris Torek chris.torek@gmail.com cc: Yee Cheng Chin
ychin.macvim@gmail.com cc: "brian m. carlson" sandals@crustytoothpaste.net
cc: Ben Knoble ben.knoble@gmail.com cc: "Kristoffer Haugsbakk"
kristofferhaugsbakk@fastmail.com cc: Phillip Wood phillip.wood123@gmail.com
cc: Nico Williams nico@cryptonector.com cc: Patrick Steinhardt ps@pks.im cc:
Jeff King peff@peff.net
Harald Nordgren (2):
refactor format_branch_comparison in preparation
status: add status.compareBranches config for multiple branch
comparisons
Documentation/config/status.adoc | 19 ++
remote.c | 178 ++++++++++++++----
t/t6040-tracking-info.sh | 310 +++++++++++++++++++++++++++++++
3 files changed, 470 insertions(+), 37 deletions(-)
base-commit: 7b2bccb0d58d4f24705bf985de1f4612e4cf06e5
Published-As: https://github.com/gitgitgadget/git/releases/tag/pr-git-2138%2FHaraldNordgren%2Fahead_of_main_status-v30
Fetch-It-Via: git fetch https://github.com/gitgitgadget/git pr-git-2138/HaraldNordgren/ahead_of_main_status-v30
Pull-Request: https://github.com/git/git/pull/2138
Range-diff vs v29:
1: 48db1f4847 = 1: 7f517b8c7f refactor format_branch_comparison in preparation
2: 6a88f41fa5 ! 2: 501bd40294 status: add status.compareBranches config for multiple branch comparisons
@@ remote.c: int stat_tracking_info(struct branch *branch, int *num_ours, int *num_
+ if (!branch || !name)
+ return NULL;
+
-+ if (!strcasecmp(name, "@{upstream}"))
++ if (!strcasecmp(name, "@{upstream}")) {
+ resolved = branch_get_upstream(branch, NULL);
-+ else if (!strcasecmp(name, "@{push}"))
++ } else if (!strcasecmp(name, "@{push}")) {
+ resolved = branch_get_push(branch, NULL);
-+ else {
-+ warning(_("ignoring value '%s' for status.compareBranches; only @{upstream} and @{push} are supported"),
++ } else {
++ warning(_("ignoring value '%s' for status.compareBranches, "
++ "only @{upstream} and @{push} are supported"),
+ name);
+ return NULL;
+ }
@@ remote.c: int stat_tracking_info(struct branch *branch, int *num_ours, int *num_
- bool show_divergence_advice)
+ unsigned flags)
{
-+ bool enable_push_advice = (flags & ENABLE_ADVICE_PUSH) &&
-+ advice_enabled(ADVICE_STATUS_HINTS);
-+ bool enable_pull_advice = (flags & ENABLE_ADVICE_PULL) &&
-+ advice_enabled(ADVICE_STATUS_HINTS);
-+ bool enable_divergence_advice = (flags & ENABLE_ADVICE_DIVERGENCE) &&
-+ advice_enabled(ADVICE_STATUS_HINTS);
++ bool use_push_advice = (flags & ENABLE_ADVICE_PUSH);
++ bool use_pull_advice = (flags & ENABLE_ADVICE_PULL);
++ bool use_divergence_advice = (flags & ENABLE_ADVICE_DIVERGENCE);
+
if (up_to_date) {
strbuf_addf(sb,
@@ remote.c: static void format_branch_comparison(struct strbuf *sb,
_("Your branch and '%s' refer to different commits.\n"),
branch_name);
- if (advice_enabled(ADVICE_STATUS_HINTS))
-+ if (enable_push_advice)
++ if (use_push_advice && advice_enabled(ADVICE_STATUS_HINTS))
strbuf_addf(sb, _(" (use \"%s\" for details)\n"),
"git status --ahead-behind");
} else if (!theirs) {
@@ remote.c: static void format_branch_comparison(struct strbuf *sb,
ours),
branch_name, ours);
- if (advice_enabled(ADVICE_STATUS_HINTS))
-+ if (enable_push_advice)
++ if (use_push_advice && advice_enabled(ADVICE_STATUS_HINTS))
strbuf_addstr(sb,
_(" (use \"git push\" to publish your local commits)\n"));
} else if (!ours) {
@@ remote.c: static void format_branch_comparison(struct strbuf *sb,
theirs),
branch_name, theirs);
- if (advice_enabled(ADVICE_STATUS_HINTS))
-+ if (enable_pull_advice)
++ if (use_pull_advice && advice_enabled(ADVICE_STATUS_HINTS))
strbuf_addstr(sb,
_(" (use \"git pull\" to update your local branch)\n"));
} else {
@@ remote.c: static void format_branch_comparison(struct strbuf *sb,
branch_name, ours, theirs);
- if (show_divergence_advice &&
- advice_enabled(ADVICE_STATUS_HINTS))
-+ if (enable_divergence_advice)
++ if (use_divergence_advice && advice_enabled(ADVICE_STATUS_HINTS))
strbuf_addstr(sb,
_(" (use \"git pull\" if you want to integrate the remote branch with yours)\n"));
}
@@ t/t6040-tracking-info.sh: test_expect_success '--set-upstream-to @{-1}' '
+ test_cmp expect actual
+'
+
-+test_expect_success 'setup for compareBranches tests' '
-+ (
-+ cd test &&
-+ git config push.default current &&
-+ git config status.compareBranches "@{upstream} @{push}"
-+ )
-+'
-+
+test_expect_success 'status.compareBranches from upstream has no duplicates' '
-+ (
-+ cd test &&
-+ git checkout main &&
-+ git status >../actual
-+ ) &&
++ 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}.
@@ t/t6040-tracking-info.sh: test_expect_success '--set-upstream-to @{-1}' '
+'
+
+test_expect_success 'status.compareBranches shows ahead of both upstream and push branch' '
-+ (
-+ cd test &&
-+ git checkout -b feature2 origin/main &&
-+ git push origin HEAD &&
-+ advance work &&
-+ git status >../actual
-+ ) &&
++ 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) &&
++ git -C test status >actual &&
+ cat >expect <<-EOF &&
+ On branch feature2
+ Your branch is ahead of ${SQ}origin/main${SQ} by 1 commit.
@@ t/t6040-tracking-info.sh: test_expect_success '--set-upstream-to @{-1}' '
+'
+
+test_expect_success 'checkout with status.compareBranches shows both branches' '
-+ (
-+ cd test &&
-+ git checkout feature2 >../actual
-+ ) &&
++ 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.
+
@@ t/t6040-tracking-info.sh: test_expect_success '--set-upstream-to @{-1}' '
+'
+
+test_expect_success 'status.compareBranches shows diverged and ahead' '
-+ (
-+ cd test &&
-+ git checkout feature4 &&
-+ git branch --set-upstream-to origin/main &&
-+ git push origin HEAD &&
-+ advance work &&
-+ git status >../actual
-+ ) &&
++ 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,
@@ t/t6040-tracking-info.sh: test_expect_success '--set-upstream-to @{-1}' '
+'
+
+test_expect_success 'status --no-ahead-behind with status.compareBranches' '
-+ (
-+ cd test &&
-+ git checkout feature4 &&
-+ git status --no-ahead-behind >../actual
-+ ) &&
++ 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.
@@ t/t6040-tracking-info.sh: test_expect_success '--set-upstream-to @{-1}' '
+ (
+ cd test &&
+ git remote add upstream ../. &&
-+ git fetch upstream &&
-+ git config remote.pushDefault origin
++ git fetch upstream
+ )
+'
+
+test_expect_success 'status.compareBranches with upstream and origin remotes' '
-+ (
-+ cd test &&
-+ git checkout -b feature5 upstream/main &&
-+ git push origin &&
-+ advance work &&
-+ git status >../actual
-+ ) &&
++ 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.
@@ t/t6040-tracking-info.sh: test_expect_success '--set-upstream-to @{-1}' '
+'
+
+test_expect_success 'status.compareBranches supports ordered upstream/push entries' '
-+ (
-+ cd test &&
-+ git checkout -b feature6 upstream/main &&
-+ git push origin &&
-+ advance work &&
-+ git -c status.compareBranches="@{push} @{upstream}" status >../actual
-+ ) &&
++ 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.
@@ t/t6040-tracking-info.sh: test_expect_success '--set-upstream-to @{-1}' '
+'
+
+test_expect_success 'status.compareBranches with diverged push branch' '
-+ (
-+ cd test &&
-+ git checkout -b feature7 upstream/main &&
-+ advance work &&
-+ git push origin &&
-+ git reset --hard upstream/main &&
-+ advance work &&
-+ git status >../actual
-+ ) &&
++ 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.
@@ t/t6040-tracking-info.sh: test_expect_success '--set-upstream-to @{-1}' '
+'
+
+test_expect_success 'status.compareBranches shows up to date branches' '
-+ (
-+ cd test &&
-+ git checkout -b feature8 upstream/main &&
-+ git push origin &&
-+ git status >../actual
-+ ) &&
++ 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 feature8 upstream/main &&
++ git -C test push origin &&
++ git -C test status >actual &&
+ cat >expect <<-EOF &&
+ On branch feature8
+ Your branch is up to date with ${SQ}upstream/main${SQ}.
@@ t/t6040-tracking-info.sh: test_expect_success '--set-upstream-to @{-1}' '
+'
+
+test_expect_success 'status --no-ahead-behind with status.compareBranches up to date' '
-+ (
-+ cd test &&
-+ git checkout feature8 &&
-+ git push origin &&
-+ git status --no-ahead-behind >../actual
-+ ) &&
++ 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 feature8 >actual &&
++ git -C test push origin &&
++ git -C test status --no-ahead-behind >actual &&
+ cat >expect <<-EOF &&
+ On branch feature8
+ Your branch is up to date with ${SQ}upstream/main${SQ}.
@@ t/t6040-tracking-info.sh: test_expect_success '--set-upstream-to @{-1}' '
+'
+
+test_expect_success 'checkout with status.compareBranches shows up to date' '
-+ (
-+ cd test &&
-+ git checkout feature8 >../actual
-+ ) &&
++ 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 feature8 >actual &&
+ cat >expect <<-EOF &&
+ Your branch is up to date with ${SQ}upstream/main${SQ}.
+
@@ t/t6040-tracking-info.sh: test_expect_success '--set-upstream-to @{-1}' '
+'
+
+test_expect_success 'status.compareBranches with upstream behind and push up to date' '
-+ (
-+ cd test &&
-+ git checkout -b ahead upstream/main &&
-+ advance work &&
-+ git push upstream HEAD &&
-+ git checkout -b feature9 upstream/main &&
-+ git push origin &&
-+ git branch --set-upstream-to upstream/ahead &&
-+ git status >../actual
-+ ) &&
++ 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 ahead upstream/main &&
++ (cd test && advance work) &&
++ git -C test push upstream HEAD &&
++ git -C test checkout -b feature9 upstream/main &&
++ git -C test push origin &&
++ git -C test branch --set-upstream-to upstream/ahead &&
++ git -C test status >actual &&
+ cat >expect <<-EOF &&
+ On branch feature9
+ Your branch is behind ${SQ}upstream/ahead${SQ} by 1 commit, and can be fast-forwarded.
@@ t/t6040-tracking-info.sh: test_expect_success '--set-upstream-to @{-1}' '
+'
+
+test_expect_success 'status.compareBranches with remapped push refspec' '
-+ (
-+ cd test &&
-+ git checkout -b feature10 origin/main &&
-+ git config remote.origin.push refs/heads/feature10:refs/heads/remapped &&
-+ git push &&
-+ advance work &&
-+ git status >../actual
-+ ) &&
++ test_config -C test remote.origin.push refs/heads/feature10:refs/heads/remapped &&
++ test_config -C test status.compareBranches "@{upstream} @{push}" &&
++ git -C test checkout -b feature10 origin/main &&
++ git -C test push &&
++ (cd test && advance work) &&
++ git -C test status >actual &&
+ cat >expect <<-EOF &&
+ On branch feature10
+ Your branch is ahead of ${SQ}origin/main${SQ} by 1 commit.
@@ t/t6040-tracking-info.sh: test_expect_success '--set-upstream-to @{-1}' '
+'
+
+test_expect_success 'status.compareBranches with remapped push and upstream remote' '
-+ (
-+ cd test &&
-+ git checkout -b feature11 upstream/main &&
-+ git config remote.origin.push refs/heads/feature11:refs/heads/remapped &&
-+ git push origin &&
-+ advance work &&
-+ git status >../actual
-+ ) &&
++ test_config -C test remote.pushDefault origin &&
++ test_config -C test remote.origin.push refs/heads/feature11:refs/heads/remapped &&
++ test_config -C test status.compareBranches "@{upstream} @{push}" &&
++ git -C test checkout -b feature11 upstream/main &&
++ git -C test push origin &&
++ (cd test && advance work) &&
++ git -C test status >actual &&
+ cat >expect <<-EOF &&
+ On branch feature11
+ Your branch is ahead of ${SQ}upstream/main${SQ} by 1 commit.
@@ t/t6040-tracking-info.sh: test_expect_success '--set-upstream-to @{-1}' '
+ EOF
+ test_cmp expect actual
+'
-+
-+test_expect_success 'clean up after compareBranches tests' '
-+ (
-+ cd test &&
-+ git config --unset status.compareBranches
-+ )
-+'
+
test_done
--
gitgitgadget
next prev parent reply other threads:[~2026-02-26 10:33 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 ` Harald Nordgren via GitGitGadget [this message]
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
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=pull.2138.v30.git.git.1772102022.gitgitgadget@gmail.com \
--to=gitgitgadget@gmail.com \
--cc=git@vger.kernel.org \
--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