Thread (7 messages) 7 messages, 4 authors, 2024-01-04

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

From: Patrick Steinhardt <hidden>
Date: 2024-01-04 14:47:58

On Thu, Jan 04, 2024 at 12:51:05PM +0100, Oswald Buddenhagen wrote:
On Thu, Jan 04, 2024 at 09:21:53AM +0100, Patrick Steinhardt wrote:
quoted
--- 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

Attachments

Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help