Subject: Re: [GSoC][PATCH] builtin/refs: add 'get' subcommand

From: Patrick Steinhardt <[email-masked]>
Date: Wed, 24 Sep 2025 08:32:38 +0200

On Tue, Sep 23, 2025 at 02:50:46PM -0700, Junio C Hamano wrote:
> Meet Soni <[email-masked]> writes:
> 
> > While `git-rev-parse(1)` and `git-show-ref(1)` can be used to read
> > reference values, they have drawbacks for scripting and discoverability.
> > `rev-parse` performs DWIM expansion which is unpredictable for scripts,
> > and `show-ref --verify` is difficult to discover and cannot read the
> > direct target of a symbolic reference.
> 
> Well "refs get" is even harder to discover (it is not even in Git
> 2.50's manual that is available everywhere on the net), so difficult
> to discover is not a good excuse.  In a sense show-ref was invented
> exactly to serve as something like "refs get" you are writing, so I
> wonder if a better approach is to extend it instead of introducing
> a new subcommand in a distant place from it?
> 
> Perhaps "show-ref --verify --no-deref" or something that does not
> dereference but works directly on a symbolic ref?

For now: yes, it's more difficult to discover for sure. But users will
adjust over time as they get more familiar with git-refs(1), and from
thereon I think it will become significantly easier to discover that
subcommand.

git-refs(1) already hosts everything needed to handle references, so
from my point of view it is only natural to also provide an easy way to
read a single reference to complete the picture.

Patrick