[PATCH v25 0/2] status: show comparison with push remote tracking branch
- From
Harald Nordgren via GitGitGadget <gitgitgadget@gmail.com>
- Date
- Jan 13, 2026, 12:11 UTC
- Message-ID
- <pull.2138.v25.git.git.1768306316.gitgitgadget@gmail.com>
- In-Reply-To
- <pull.2138.v24.git.git.1768298118.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
Harald Nordgren (2): refactor format_branch_comparison in preparation status: show comparison with push remote tracking branch
remote.c | 175 +++++++++++++++++++----- t/t6040-tracking-info.sh | 285 +++++++++++++++++++++++++++++++++++++++ 2 files changed, 425 insertions(+), 35 deletions(-)
base-commit: 8745eae506f700657882b9e32b2aa00f234a6fb6 Published-As: https://github.com/gitgitgadget/git/releases/tag/pr-git-2138%2FHaraldNordgren%2Fahead_of_main_status-v25 Fetch-It-Via: git fetch https://github.com/gitgitgadget/git pr-git-2138/HaraldNordgren/ahead_of_main_status-v25 Pull-Request: https://github.com/git/git/pull/2138
Range-diff vs v24:
1: fd05c7b778 = 1: fd05c7b778 refactor format_branch_comparison in preparation
2: 138b79a0b9 ! 2: fa744efc59 status: show comparison with push remote tracking branch
@@ t/t6040-tracking-info.sh: test_expect_success '--set-upstream-to @{-1}' '
+ test_cmp expect actual
+'
+
++test_expect_success 'status with upstream ahead and push branch up to date' '
++ (
++ cd test &&
++ git checkout -b ahead upstream/main &&
++ advance work &&
++ git push upstream HEAD &&
++ git checkout -b feature8 upstream/main &&
++ git push origin &&
++ git branch --set-upstream-to upstream/ahead &&
++ git status >../actual
++ ) &&
++ cat >expect <<-EOF &&
++ On branch feature8
++ Your branch is behind ${SQ}upstream/ahead${SQ} by 1 commit, and can be fast-forwarded.
++ (use "git pull" to update your local branch)
++
++ Your branch is up to date with ${SQ}origin/feature8${SQ}.
++
++ nothing to commit, working tree clean
++ EOF
++ test_cmp expect actual
++'
++
+test_expect_success 'status shows remapped push refspec' '
+ (
+ cd test &&
-+ git checkout -b feature8 origin/main &&
-+ git config remote.origin.push refs/heads/feature8:refs/heads/remapped &&
++ git checkout -b feature9 origin/main &&
++ git config remote.origin.push refs/heads/feature9:refs/heads/remapped &&
+ git push &&
+ advance work &&
+ git status >../actual
+ ) &&
+ cat >expect <<-EOF &&
-+ On branch feature8
++ On branch feature9
+ Your branch is ahead of ${SQ}origin/main${SQ} by 1 commit.
+
+ Your branch is ahead of ${SQ}origin/remapped${SQ} by 1 commit.
@@ t/t6040-tracking-info.sh: test_expect_success '--set-upstream-to @{-1}' '
+test_expect_success 'status shows remapped push refspec with upstream remote' '
+ (
+ cd test &&
-+ git checkout -b feature9 upstream/main &&
-+ git config remote.origin.push refs/heads/feature9:refs/heads/remapped &&
++ git checkout -b feature10 upstream/main &&
++ git config remote.origin.push refs/heads/feature10:refs/heads/remapped &&
+ git push origin &&
+ advance work &&
+ git status >../actual
+ ) &&
+ cat >expect <<-EOF &&
-+ On branch feature9
++ On branch feature10
+ Your branch is ahead of ${SQ}upstream/main${SQ} by 1 commit.
+
+ Your branch is ahead of ${SQ}origin/remapped${SQ} by 1 commit.-- gitgitgadget