Re: [RFC PATCH] object-name: add @{upstreamhead} shorthand

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Sun, Oct 27, 2024 at 11:07:07PM +0100, Bence Ferdinandy wrote:
>
> On Fri Oct 25, 2024 at 08:24, Jeff King <peff@xxxxxxxx> wrote:
> > On Thu, Oct 24, 2024 at 08:48:29PM +0200, Bence Ferdinandy wrote:
> >
> >> > So I think rather than "branch --show-current-remote", we'd want
> >> > some option to make "branch --list" show only the currently checked out
> >> > branch, and then you could apply --format to it to get whatever
> >> > information you wanted. Something like:
> >> >
> >> >   git branch --list --is-head --format='%(upstream:remotename)'
> >>
> >> Thanks for running through this in such detail! This would be more widely
> >> useful for sure.
> >>
> >> I'd probably call the flag something like "--current", "--current-only" rather
> >> than "--is-head" though. "--is-head" sounds as if it would filter --list but
> >> not necessarily end up with a single entry.
> >
> > Yeah, I think --current would be fine.
>
> I was looking through git branch and there is a --show-current option. I was
> wondering, would it not be better to teach --show-current to also obey
> --format? It would avoid having a "--current" that only works with "--list"
> besides having a "--show-current".

Yeah, I think that supporting '--format' specifiers via 'git branch
--show-current' makes sense.

In the interim you could do something gross like:

    git branch --list --format='%(upstream:remotename)' \
      --end-of-options "$(git branch --show-current)"

, but... yuck :-).

I think the right thing to do would be to teach 'git branch
--show-current' to support the full range of --format specifiers. And I
think the way to do that would be to treat --show-current as a special
case of --list.

In the existing implementation, we special-case handling the current
branch with --show-current via a separate code path in
builtin/branch.c::show_current_branch_name().

It would be nice to change the implementation there to pretend as if
the current branch as the pattern given to --list instead of handling
printing it out separately.

I think that would be a nice small-ish project for anybody looking to
get their hands dirty in the 'branch' builtin's implementation.

Thanks,
Taylor




[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]

  Powered by Linux