# Branch list by date

2 messages from 2014-07-08 to 2014-07-09. Participants: Jeremy Apthorp, Jeff King.
Thread: https://gitlist.dev/t/37073

## Jeremy Apthorp, 2014-07-08 04:54

Subject: Branch list by date
Message-ID: <CAMxk9GhQs_kF5573MS1SJ6a7UZuPu+oquXidOOvibznLQ7_FWw@mail.gmail.com>
URL: https://gitlist.dev/e/CAMxk9GhQs_kF5573MS1SJ6a7UZuPu%2BoquXidOOvibznLQ7_FWw%40mail.gmail.com

```
I built this terribly-written alias because I wanted to see a list of
branches by date of commit. The output looks like this:

$ git bbd
  11 months ago  pipette_editor
    7 weeks ago  ensure-ie-rendering-edge
    6 weeks ago  strings-yml
    5 weeks ago  message-when-validation-fails
    4 weeks ago  new-parsers
    11 days ago  tax
    8 hours ago  search
    7 hours ago  browse
 16 minutes ago  master
  8 seconds ago  org-read

And the alias, in all its glory:

[alias]
  bbd = "!export head=$(git symbolic-ref HEAD); git for-each-ref
--sort=committerdate --format 'color=$(if [[ %(refname) = $head ]];
then printf \"\\e[32m\"; fi); printf \"\\e[01;30m%%15s\\e(B\\e[m
%%s%%s\\n\" %(committerdate:relative) $color %(refname:short)'
refs/heads/ --shell | sh"

I write this missive with dual purpose: firstly to share a potentially
useful tool, and secondly to suggest that this feature (with a less
mind-wrenchingly disgusting implementation) might be included in
mainline git, as for example `git branch [-t] | [--by-time]`.

Until the ocean swallows us all,
j

```

## Jeff King, 2014-07-09 05:21

Subject: Re: Branch list by date
Message-ID: <20140709052114.GC2318@sigill.intra.peff.net>
URL: https://gitlist.dev/e/20140709052114.GC2318%40sigill.intra.peff.net
In-Reply-To: <CAMxk9GhQs_kF5573MS1SJ6a7UZuPu+oquXidOOvibznLQ7_FWw@mail.gmail.com>

```
On Mon, Jul 07, 2014 at 09:54:55PM -0700, Jeremy Apthorp wrote:

> I write this missive with dual purpose: firstly to share a potentially
> useful tool, and secondly to suggest that this feature (with a less
> mind-wrenchingly disgusting implementation) might be included in
> mainline git, as for example `git branch [-t] | [--by-time]`.

I think what we should aim for is:

  1. Teaching git-branch the same sorting as for-each-ref. So first
     --sort, and then possibly "-t" as an alias for "--sort=committerdate".

  2. Teaching git-branch custom output formats. We have "-v" and "-vv",
     but it should support the full power of for-each-ref's --format
     atoms.

  3. Teach branch and for-each-ref to support readable colors in their
     formats, like we do for "log --format".

  4. Optionally add config options to configure defaults for the above,
     so "git branch" shows what you want.

I'm (slowly) working on a refactor that will unify for-each-ref and
branch, which would accomplish (1) and (2).

-Peff

```
