git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Jakub Narebski <jnareb@gmail.com>
To: "Adeodato Simó" <dato@net.com.org.es>
Cc: Karl Chen <quarl@cs.berkeley.edu>,
	Arnaud Lacombe <lacombar@gmail.com>,
	Git mailing list <git@vger.kernel.org>
Subject: Re: git-branch --print-current
Date: Sun, 04 Jan 2009 13:48:03 -0800 (PST)	[thread overview]
Message-ID: <m3bpumbv5c.fsf@localhost.localdomain> (raw)
In-Reply-To: <20090104180208.GA12298@chistera.yi.org>

Adeodato Simó <dato@net.com.org.es> writes:
> * Karl Chen [Sun, 04 Jan 2009 04:40:51 -0800]:
> 
> >     Arnaud> $ git branch | awk '/^\*/ {print $2}'
> 
> > Yet another addition to the list of ways to pipeline it, this one
> > probably the shortest :)
> 
> Heh, if we're playing golf:
> 
>               $ git branch | sed -n 's/^\* //p'

Even if you want to reimplement __git_ps1 provided with bash
completion in completion/git-completion.bash instead of reusing it,
you still have to deal with many situations: not being in git
repository, being on detached HEAD, being in intermediate state
(during git-am, git-rebase, git-bisect etc.), etc.  Additionally you
would probably want name of git repository and relative path inside
git repository in prompt.

Therefore you need to use script anyway. And for scripting you should
use plumbing (which output format shouldn't change) and not porcelain
git-branch (which output might change, for example having '-v' on by
default, or something; and you might have color.ui set to true by
mistake and have to deal with color codes). And then you don't need
sed nor awk: POSIX shell features would be enough:

  BR=$(git symbolic-ref HEAD 2>/dev/null)
  BR=${BR#refs/heads/}
  BR=${BR:-HEAD} # one of possibilities to show detached HEAD / no branch

-- 
Jakub Narebski
Poland
ShadeHawk on #git

  reply	other threads:[~2009-01-04 21:50 UTC|newest]

Thread overview: 28+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-01-02  3:28 git-branch --print-current Karl Chen
2009-01-02  4:26 ` David Aguilar
2009-01-04  2:18   ` Karl Chen
2009-01-04  3:38     ` Miklos Vajna
2009-01-04  4:26       ` Karl Chen
2009-01-04  5:17         ` Junio C Hamano
2009-01-04 12:34           ` git-rev-parse --symbolic-abbrev-name [was Re: git-branch --print-current] Karl Chen
2009-01-04 12:40             ` demerphq
2009-01-04 19:36             ` git-rev-parse --symbolic-abbrev-name Junio C Hamano
2009-01-04 20:23               ` Arnaud Lacombe
2009-01-04 22:38                 ` Miklos Vajna
2009-01-05  5:35                   ` Arnaud Lacombe
2009-01-05  6:45                     ` Miklos Vajna
2009-01-06  8:18                 ` Junio C Hamano
2009-01-07  4:58                   ` Arnaud Lacombe
2009-01-04 13:35           ` git-branch --print-current demerphq
2009-01-05  0:41             ` Junio C Hamano
2009-01-05  2:18               ` Shawn O. Pearce
2009-01-05  3:55                 ` Junio C Hamano
2009-01-05  5:50                   ` Jeff King
2009-01-04  8:21 ` Arnaud Lacombe
2009-01-04 12:40   ` Karl Chen
2009-01-04 12:49     ` demerphq
2009-01-04 17:55       ` Arnaud Lacombe
2009-01-04 18:02     ` Adeodato Simó
2009-01-04 21:48       ` Jakub Narebski [this message]
2009-01-04 10:07 ` Alexandre Dulaunoy
2009-01-04 12:31   ` demerphq

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=m3bpumbv5c.fsf@localhost.localdomain \
    --to=jnareb@gmail.com \
    --cc=dato@net.com.org.es \
    --cc=git@vger.kernel.org \
    --cc=lacombar@gmail.com \
    --cc=quarl@cs.berkeley.edu \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).