[PATCH v5 0/2] git-prompt.sh: Option to hide prompt for ignored pwd

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

 



On 2015-01-06T15:31-08:00, Junio C Hamano wrote:
>> 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.

I do keep my dotfiles in a Git repository (~/.git exists), yet I
wouldn't use this feature either.  (I just use refs/heads/dotfiles as
HEAD so that my prompt is unique when I'm not in some project working
directory.)

However, it doesn't seem like a very invasive change to me, and at
least one person wants this feature (evidenced by Jess Austin going to
the trouble of submitting a patch), so I thought I'd help it along.

If someone has a reasonable objection to this feature, or even if
there's not enough positive interest, I wouldn't be too sad to see it
not get adopted.

>> +	   [ -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?

Yes; fixed.

>> +	   [ "$(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?

I thought about factoring it out, but didn't because defining a
function with just three lines seemed awkward.  But I thought of a
better way to eliminate the duplicate code without defining a helper
function; see the new prequel patch.

>> +	echo "ignored_dir/" >> .gitignore &&
> 
> Drop the SP after (but not before) redirection operator >>.

Done.

Thanks for the review,
Richard


Jess Austin (1):
  git-prompt.sh: Option to hide prompt for ignored pwd

Richard Hansen (1):
  git-prompt.sh: if pc mode, immediately set PS1 to a plain prompt

 contrib/completion/git-prompt.sh |  24 ++++++---
 t/t9903-bash-prompt.sh           | 106 +++++++++++++++++++++++++++++++++++++++
 2 files changed, 123 insertions(+), 7 deletions(-)

-- 
2.2.1

--
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]