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

Re: [PATCH v2] git-prompt: stop manually parsing HEAD with unknown ref formats

From
Patrick Steinhardt <ps@pks.im>
Date
Jan 4, 2024, 14:47 UTC
Message-ID
<ZZbFGTkM8aR7MXQu@tanuki>
In-Reply-To
<ZZabqfPDcA1jtmZS@ugly>
On Thu, Jan 04, 2024 at 12:51:05PM +0100, Oswald Buddenhagen wrote:
Show 16 quoted lines
> On Thu, Jan 04, 2024 at 09:21:53AM +0100, Patrick Steinhardt wrote:
> > --- a/contrib/completion/git-prompt.sh
> > +++ b/contrib/completion/git-prompt.sh
> > @@ -408,7 +408,7 @@ __git_ps1 ()
> > 
> > 	local repo_info rev_parse_exit_code
> > 	repo_info="$(git rev-parse --git-dir --is-inside-git-dir \
> > -		--is-bare-repository --is-inside-work-tree \
> > +		--is-bare-repository --is-inside-work-tree --show-ref-format \
> > 		--short HEAD 2>/dev/null)"
> > 
> that makes me wonder whether adding support for `--symbolic-ref HEAD` here
> would not be the cleaner solution? and why stop there, and not add a few
> more ps1 would need, like --upstream and --sequencer-state?  (though
> arguably, this overloading of `rev-parse` should be deprecated in favor of a
> new generalized `query` command, maybe even unified with `var`.)

I'm on board with extending git-rev-parse(1) to support direct output of symbolic refs without resolving them to an object ID. Indeed, we plan to tackle this lack of support soonish at GitLab. But given that such a feature currently doesn't exist, and that I expect there to be some discussion around it, I'd rather want to postpone this to a later point so that we can meanwhile unblock the reftable backend.

Regarding the other options like `--upstream` and `--sequencer-state` I'm less sure. As you say, git-rev-parse(1) is already quite loaded with semi-related tools, and extending it even further like this is only going to make this state worse. I also wish for an "informative" tool that queries repository-level information and state like you propose, but would argue that this is also a bigger topic.

So... for now I'd like to keep the current version, but I certainly agree that the state can and should eventually be improved.

Patrick
Previous: Oswald Buddenhagen
Message 7 of 7 in “git-prompt: stop manually parsing HEAD”
  1. git-prompt: stop manually parsing HEADPatrick Steinhardt, Nov 24, 2023
  2. Eric SunshineNov 24, 2023
  3. SZEDER GáborNov 24, 2023
  4. Patrick SteinhardtDec 1, 2023
  5. git-prompt: stop manually parsing HEAD with unknown ref formatsPatrick Steinhardt, Jan 4, 2024
  6. Oswald BuddenhagenJan 4, 2024
  7. Patrick SteinhardtJan 4, 2024

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.