Thread (1 message) 1 message, 1 author, 2021-01-05

Re: How to get the branch HEAD points to using a plumbing command?

From: Junio C Hamano <hidden>
Date: 2021-01-05 22:56:12

Utku [off-list ref] writes:
My question is, is there a "better" (more idiomatic, less
"expensive", etc.) way of doing it using only one plumbing
command? This solution is OK but it is more work than just
matching one line with a regular expression. The reason I want to
do this using only plumbing commands is because I think that
plumbing command interface would be more stable than the format
(organization, structure) of files under the `.git/` directory
across Git versions. Please correct me if I'm wrong in this idea
as well.
The "HEAD" pointer can be a symbolic link, not a text file with
"ref: refs/heads/..." in it, and any approach that works directly
with "cat .git/HEAD" would be incorrect, unless it does a stat on
.git/HEAD first to see if it is a symlink.  And such implementation
details can change over time.

So you are right to seek a solution that hides such details from
you, i.e. a Git command, to do so.  It does not have to be plumbing,
though.

The orthodox answer would be to use "git symbolic-ref".  When you
want to learn which underlying ref a symbolic ref is pointing at,
that is the tool designed to answer that question.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help