Re: [PATCH 3/3] completion: Prevents GIT_PS1_DIRTYSTATE from breaking when CWD is .git

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Ted Pavlic <ted@xxxxxxxxxxxxx> wrote:
> The GIT_PS1_DIRTYSTATE support uses a "git diff" to see if a "*" should
> be placed after the branch name. The "git diff" fails with an ugly error
> if the user has just changed directory into GIT_DIR.
> 
> This patch uses "git rev-parse --is-inside-work-tree" to determine
> whether a "--work-tree=.." should be added to the "git diff".

I think it makes more sense to just drop the work tree stuff from
the prompt if we aren't inside the work tree anymore.  Meaning,
we should behave as though bash.showDirtyState is false.

 
> Signed-off-by: Ted Pavlic <ted@xxxxxxxxxxxxx>
> ---
>  contrib/completion/git-completion.bash |    6 +++++-
>  1 files changed, 5 insertions(+), 1 deletions(-)
> 
> diff --git a/contrib/completion/git-completion.bash b/contrib/completion/git-completion.bash
> index 6772be7..ffde82a 100755
> --- a/contrib/completion/git-completion.bash
> +++ b/contrib/completion/git-completion.bash
> @@ -115,10 +115,14 @@ __git_ps1 ()
>  
>  		local w
>  		local i
> +		local worktreestr
>  
>  		if test -n "${GIT_PS1_SHOWDIRTYSTATE-}"; then
>  			if test "$(git config --bool bash.showDirtyState)" != "false"; then
> -				git diff --no-ext-diff --ignore-submodules \
> +				if test "false" = "$(git rev-parse --is-inside-work-tree 2>/dev/null)"; then
> +					worktreestr="--work-tree=.."
> +				fi
> +				git ${worktreestr} diff --no-ext-diff --ignore-submodules \
>  					--quiet --exit-code || w="*"
>  				if git rev-parse --quiet --verify HEAD >/dev/null; then
>  					git diff-index --cached --quiet \
> -- 
> 1.6.1.2.390.gba743
> 

-- 
Shawn.
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]

  Powered by Linux