Subject: [PATCH 0/2] bash completion: Support "divergence from upstream" warnings in __git_ps1

From: Thomas Rast <[email-masked]>
Date: Thu, 10 Jun 2010 13:47:22 +0200

Andrew Sayers wrote:
> +                                       case "$p" in
> +                                               \<*\>*|\>*\<* ) p="<>" ;;
> +                                               *\<*          ) p="<"  ;;
> +                                               *\>*          ) p=">"  ;;
> +                                               ""            ) p="="  ;;
> +
> +                                               # the following case shouldn't be possible
> +                                               # if you see this, please report it as a bug
> +                                               * ) p="?ERROR($p)?" ;;
> +
> +                                       esac

I didn't really like this bit, since rev-list has to format the output
only so you can match it.  I realized that I too have written code in
the past to detect which way this goes (in post-receive hooks), and/or
the number of commits as per the request

John Tapsell wrote:
> I hate to get all feature-bloat on you...
> 
> But could it state the number of commits as well please? :) :)

So here's an additional patch to provide rev-list logic that supports
this feature.  I have then tweaked your original patch to make use of
it a u+7-5 style.

I'm not too picky about the exact style that it turns out to have in
the end; I have used my own customized version ever since we started
printing a space before the (master *+) dirtiness indicator.  However,
I think we should try to be as unambiguous and short as possible.
Hence I picked the 'u' prefix to avoid ambiguity with the dirtiness
indicator.

Andrew Sayers (1):
  bash completion: Support "divergence from upstream" warnings in
    __git_ps1

Thomas Rast (1):
  rev-list: introduce --count option

 Documentation/rev-list-options.txt     |    9 +++++
 builtin/rev-list.c                     |   16 +++++++++
 contrib/completion/git-completion.bash |   57 +++++++++++++++++++++++++++++++-
 revision.c                             |    2 +
 revision.h                             |    5 +++
 t/t6007-rev-list-cherry-pick-file.sh   |   29 ++++++++++++++++
 6 files changed, 117 insertions(+), 1 deletions(-)