Re: [PATCH] bash completion: Support "unpushed commits" warnings in __git_ps1
- From
Thomas Rast <trast@student.ethz.ch>
- Date
- Jun 6, 2010, 18:14 UTC
- Message-ID
- <201006062014.59386.trast@student.ethz.ch>
- In-Reply-To
- <4C0AE640.3040503@pileofstuff.org>
Andrew Sayers wrote:
> People working in small teams sometimes forget to push their changes, causing > general confusion. A gentle reminder in the command prompt should help.
I think this is a good idea but...
Show 5 quoted lines
> +# If you would like to see if there're unpushed commits, then > +# you can set GIT_PS1_SHOWUNPUSHED to a nonempty value. If > +# there're unpushed commits, then a '!' will be shown next to > +# the branch name. Setting GIT_PS1_SHOWUNPUSHED=svn will look > +# for unpushed git-svn commits.
At least the svn/git setting should definitely be configurable through git-config, so that it becomes per-repo configurable. Also, you could try to trigger the svn mode by default if a svn-remote.svn.url exists.
> + upstream=$( git log | sed -ne "/^ git-svn-id: / { s/^ git-svn-id: $remote_branch\/\([^@]*\).*/\1/p ; q }" )How about starting with
git log -1 --first-parent --grep="^git-svn-id: $remote_branch"
which should be faster and is also closer to the truth. It still doesn't work if the repo was cloned with --no-metadata. Doing it right probably would require a new informational command in git-svn that reports the branch name.
--
Thomas Rast
trast@{inf,student}.ethz.ch