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

Re: Improving git branch

From
Junio C Hamano <gitster@pobox.com>
Date
Dec 17, 2014, 20:51 UTC
Message-ID
<xmqqzjam80fb.fsf@gitster.dls.corp.google.com>
In-Reply-To
<CAHQ6N+qBUcBcG8RC6Co+k_GmJDXCynmyfZmvTjz4bQyH1wG3DA@mail.gmail.com>
John Tapsell <johnflux@gmail.com> writes:
Show 34 quoted lines
>   I'm interested in putting in some time and effort into improving the
> output of "git branch".
>
>   What I'm thinking is an output like this:
>
> $ git branch
>
> 2014-12-17 * (detached from origin/master)     deaba04 Do stuff
> 2014-12-15   john.ta/add_timing_info                6edbcfa  Add timing stuff
> 2014-12-14   master                                          8537316
> [origin/master: ahead 1, behind 16] Some stuff
> 2014-12-12   john.ta/new_reduce_memory       99d84db Reintroduce: memory stuff
> 2014-12-05   john.ta/bugfixes                            e15c95e Add stuff
> 2014-12-03   john.ta/container                           e9fd4e5 This
> branch is a test bed for containers
>
>
> (These columns are supposed to be all aligned nicely..)
>
> So, features:
>
> 1. Show the date of the last commit
> 2. Sort by date.  Most recently used branches at the top
> 3. Show the branch name, including your current "branch", with a * to
> indicate that it's checked out.
> 4. Show the sha
> 5. Show the branch DESCRIPTION - and if that's not available, show the
> short-line of the most recent commit.
>
> There is also a small amount of color here that I can't paste here, to
> follow the coloring in the current git branch.
>
> Before I start making patches etc, what do people think?  Would I have
> a chance of getting this in?  Should I change some aspects etc?
Three random points:
 * A single output format can never be favourite of everybody, so
   this needs to be more like
	$ git branch --format='%(committerdate) %(refname) %(subject)'
   optionally with branch.format configuration variable to let the
   user specify the default.
 * I am not sure if the "current" marker should be anywhere but the
   frontmost column in the recommended default.  The output from the
   command obviously is not meant for machine processing
   (e.g. sorting or grepping), so this point is minor, though.
 * I do not think the object name should take valuable screen real
   estate, again in the built-in default (I wouldn't mind people
   hurting themselves with their configuration at all ;-).  After
   looking at "git branch --pretty-long" output, people can give any
   command john.ta/bugfixes instead of e15c95e, no?
Previous: Michael J Gruber
Message 9 of 9 in “Improving git branch”
  1. John TapsellDec 17, 2014
  2. Michael J GruberDec 17, 2014
  3. John TapsellDec 17, 2014
  4. Michael J GruberDec 17, 2014
  5. Junio C HamanoDec 17, 2014
  6. Jeff KingDec 17, 2014
  7. Moritz NeebDec 21, 2014
  8. Michael J GruberDec 18, 2014
  9. Junio C HamanoDec 17, 2014

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.