git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: git-branch --print-current

From
Ddemerphq <demerphq@gmail.com>
Date
Jan 4, 2009, 12:49 UTC
Message-ID
<9b18b3110901040449x65c63d6fo3d9fec9ddd5670c@mail.gmail.com>
In-Reply-To
<quack.20090104T0440.lthbpun1bxo@roar.cs.berkeley.edu>
2009/1/4 Karl Chen <quarl@cs.berkeley.edu>:
Show 12 quoted lines
>>>>>> On 2009-01-04 00:21 PST, Arnaud Lacombe writes:
>
>    Arnaud> FWIW, I had this in a stalled modification in a tree,
>    Arnaud> it just add the '-c' (as "current") option to git
>    Arnaud> branch. Patch is mostly for the record :/
>
> Thanks, glad someone else wanted this too.  If we modified
> git-symbolic-ref it would probably be less code since it doesn't
> have to loop over all branches, though from a UI perspective I
> still prefer git-branch.  Anyway doesn't look like people like the
> idea so how about that git-rev-parse --symbolic-abbrev-name idea
> :)
FWIW: I like the idea. Ive always thought that a --current flag to git
branch was missing. IOW i should be able to do:
   branch=`git branch --current`

and get back a usable branch name. I dont think one should need to rely on awk or sed or scripts to find this out, if only for portability reasons.

Show 10 quoted lines
>
>    Arnaud> The main trouble I have with pipe stuff is that it
>    Arnaud> forks a process for something that can be done
>    Arnaud> natively. Previously, I was using awk(1) to extract
>    Arnaud> the current branch:
>
>    Arnaud> $ git branch | awk '/^\*/ {print $2}'
>
> Yet another addition to the list of ways to pipeline it, this one
> probably the shortest :)
Unfortunately it doesnt work well when you arent on a branch:
  $ git branch | awk '/^\*/ {print $2}'
  (no

So far two apparently expert git people have given solutions to this problem that don't elegantly handle the edge cases.

That seems to me to be a powerful argument that it is actually more difficult to do than is being represented here on the list, and deserves to be native level git functionality.

Cheers, yves

-- 
perl -Mre=debug -e "/just|another|perl|hacker/"
Previous: Karl ChenNext: Arnaud Lacombe
Message 23 of 28 in “git-branch --print-current”
  1. Karl ChenJan 2, 2009
  2. David AguilarJan 2, 2009
  3. Karl ChenJan 4, 2009
  4. Miklos VajnaJan 4, 2009
  5. Karl ChenJan 4, 2009
  6. Junio C HamanoJan 4, 2009
  7. git-rev-parse --symbolic-abbrev-name [was Re: git-branch --print-current]Karl Chen, Jan 4, 2009
  8. demerphqJan 4, 2009
  9. Junio C HamanoJan 4, 2009
  10. Arnaud LacombeJan 4, 2009
  11. Miklos VajnaJan 4, 2009
  12. Arnaud LacombeJan 5, 2009
  13. Miklos VajnaJan 5, 2009
  14. Junio C HamanoJan 6, 2009
  15. Arnaud LacombeJan 7, 2009
  16. demerphqJan 4, 2009
  17. Junio C HamanoJan 5, 2009
  18. Shawn O. PearceJan 5, 2009
  19. Junio C HamanoJan 5, 2009
  20. Jeff KingJan 5, 2009
  21. Arnaud LacombeJan 4, 2009
  22. Karl ChenJan 4, 2009
  23. demerphqJan 4, 2009
  24. Arnaud LacombeJan 4, 2009
  25. Adeodato SimóJan 4, 2009
  26. Jakub NarebskiJan 4, 2009
  27. Alexandre DulaunoyJan 4, 2009
  28. demerphqJan 4, 2009

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.