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