git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Minor(?) usability issue with branch.<name>.pushRemote

From
Sergey Organov <sorganov@gmail.com>
Date
Dec 12, 2018, 07:15 UTC
Message-ID
<871s6n43ng.fsf@javad.com>
Hello,
I've got confusing behavior and the cause was somewhat hard to discover:
-- 8< --
$ git status
On branch linux
Your branch is ahead of 'vendor/jps2rin_arm' by 2 commits.
  (use "git push" to publish your local commits)
nothing to commit, working tree clean
$ git push
Everything up-to-date
$ git status
On branch linux
Your branch is ahead of 'vendor/jps2rin_arm' by 2 commits.
  (use "git push" to publish your local commits)
nothing to commit, working tree clean
$ git branch -vv
* linux  e8906f9 [vendor/jps2rin_arm: ahead 2] Linux: get rid of unused files
  master 4d1f931 [origin/master] Linux: add README and config
-- 8< --

What's going on here? Why 'git status' and 'git branch' both insist there are 2 unpushed commits yet 'git push' does nothing? Let's try to figure:

-- 8< --
$ git push -v
Pushing to /var/local/group/firmware/git/jps2rin
To /var/local/group/firmware/git/jps2rin
 = [up to date]      linux -> linux
updating local tracking ref 'refs/remotes/origin/linux'
Everything up-to-date
-- 8< --
So it pushes branch 'linux' to 'linux' at
/var/local/group/firmware/git/jps2rin

where everything is already published... And this push destination doesn't match 'vendor/jps2rin_arm' to which both 'git status' and 'git branch -vv' refer, so that's where the difference is!

Here is actual branch configuration:

-- 8< -- $ git config --get-regexp branch[.]linux branch.linux.remote vendor branch.linux.merge jps2rin_arm branch.linux.pushremote origin branch.linux.rebase preserve $ git remote -v origin /var/local/group/firmware/git/jps2rin (fetch) origin /var/local/group/firmware/git/jps2rin (push) vendor ssh://git@git/gis/Justin2 (fetch) vendor ssh://git@git/gis/Justin2 (push) -- 8< --

So, finally, it's 'branch.linux.pushremote' that is the "offender".

Looks like both 'git status' and 'git branch -vv' should somehow learn about 'branch.<name>.pushremote' feature so that their output/suggestions make more sense?

By the way, is there a simpler/better way to print entire configuration of a [current] branch? More human-readable? Including "branch.<name>.description"?

$ git --version git version 2.20.0.1.g8ad5d13

-- 
Sergey
Next: Junio C Hamano
Message 1 of 3 in “Minor(?) usability issue with branch.<name>.pushRemote”
  1. Sergey OrganovDec 12, 2018
  2. Junio C HamanoDec 12, 2018
  3. Sergey OrganovDec 12, 2018

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.