Subject: Re: [RFC/PATCHv2] bash completion: Support "divergence from upstream" warnings in __git_ps1

From: Thomas Rast <[email-masked]>
Date: Thu, 10 Jun 2010 14:03:41 +0200

Andrew Sayers wrote:
> +				if [ "${GIT_PS1_SHOWUPSTREAM-}" = "svn" ]; then
> +
> +					# git-svn upstream checking
> +					p="$( git config --get svn-remote.svn.url )"
> +					upstream=( $( git log --first-parent -1 \
> +						--grep="^git-svn-id: $p" ) )
> +					upstream=${upstream[ ${#upstream[@]} - 2 ]}
> +					upstream=${upstream%@*}
> +					upstream=${upstream#*$p/}

This appears to be tailored to --stdlayout, and sadly doesn't work in
the (probably fairly common) case of single-branch checkouts where
git-svn only puts a "remotes/git-svn" branch.

I can't come up with any easy-but-robust method of checking that
though.  Perhaps it suffices to check that

  git config 'svn-remote.svn.(branches|tags)'

comes up empty, and in this case simply use git-svn as the remote.

-- 
Thomas Rast
trast@{inf,student}.ethz.ch