Re: [PATCH v4] git-prompt.sh: Option to hide prompt for ignored pwd

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

 



Richard Hansen <rhansen@xxxxxxx> writes:

> This is the patch from:
>
>   http://article.gmane.org/gmane.comp.version-control.git/258313
>
> modified to include the changes I suggested in:
>
>   http://article.gmane.org/gmane.comp.version-control.git/258355
>
> I never heard back regarding my suggested changes.  The feature was so
> close to ready and I thought it would be a shame for the feature to
> silently die, so I'm submitting a re-roll with my suggested changes on
> behalf of the original author.

> +# If you would like __git_ps1 to do nothing in the case when the current
> +# directory is set up to be ignored by git, then set
> +# GIT_PS1_HIDE_IF_PWD_IGNORED to a nonempty value. Override this on the
> +# repository level by setting bash.hideIfPwdIgnored to "false".

Perhaps nobody had much interest in the original or the update.
Occassionally resending with improvements like this is a good way to
show it to more people who may have missed it the last time to
solicit comments and supports.

I am personally not very interested, as you and the original made it
sound as if this is primarily for those who keep track of $HOME/.dot
files in $HOME/.git, which is one of the ways I would never use Git.

But I do not have to be the target of each and every new feature ;-).

>  # check whether printf supports -v
>  __git_printf_supports_v=
> @@ -369,6 +374,17 @@ __git_ps1 ()
>  	local inside_gitdir="${repo_info##*$'\n'}"
>  	local g="${repo_info%$'\n'*}"
>  
> +	if [ "true" = "$inside_worktree" ] &&
> +	   [ -n "${GIT_PS1_HIDE_IF_PWD_IGNORED}" ] &&

Many existing checks on variables are written this way with the
"subsitutute with default value" syntax

        if [ -n "${GIT_PS1_SHOWDIRTYSTATE-}" ] &&

to make sure that people with non-standard settings to report
references to unset variables as errors will not have to suffer.
Don't you need to do something similar here?

> +	   [ "$(git config --bool bash.hideIfPwdIgnored)" != "false" ] &&
> +	   git check-ignore -q .
> +	then
> +		if [ $pcmode = yes ]; then
> +			PS1="$ps1pc_start$ps1pc_end"
> +		fi
> +		return

There are already two places where "under pcmode, we need to set PS1
to this empty thing" is known, and this patch adds yet another.
Would it be sensible to refactor that into a helper function, or
open coding them this way is necessary for performance or some other
reasons?

> +	fi
> +
>  	local r=""
>  	local b=""
>  	local step=""
> diff --git a/t/t9903-bash-prompt.sh b/t/t9903-bash-prompt.sh
> index 9150984..37953c8 100755
> --- a/t/t9903-bash-prompt.sh
> +++ b/t/t9903-bash-prompt.sh
> @@ -35,6 +35,8 @@ test_expect_success 'setup for prompt tests' '
>  	git commit -m "another b2" file &&
>  	echo 000 >file &&
>  	git commit -m "yet another b2" file &&
> +	mkdir ignored_dir &&
> +	echo "ignored_dir/" >> .gitignore &&

Drop the SP after (but not before) redirection operator >>.
--
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]