[PATCH v5 0/2] git-prompt.sh: Option to hide prompt for ignored pwd
From: Richard Hansen <hidden>
Date: 2016-06-15 23:03:24
On 2015-01-06T15:31-08:00, Junio C Hamano wrote:
quoted
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.quoted
+# 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.
quoted
+ [ -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.
quoted
+ [ "$(git config --bool bash.hideIfPwdIgnored)" != "false" ] && + git check-ignore -q . + then + if [ $pcmode = yes ]; then + PS1="$ps1pc_start$ps1pc_end" + fi + returnThere 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.
quoted
+ 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