Re: [PATCH 1/1] git-prompt.sh: update shell variable instructions.

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

 



Confirming that I can't reproduce this either. Should have done that
first before continuing with a PR from two years ago!

On Wed, Jun 5, 2019 at 12:07 PM SZEDER Gábor <szeder.dev@xxxxxxxxx> wrote:
>
> On Wed, Jun 05, 2019 at 08:06:07AM -0700, Edward D'Souza via GitGitGadget wrote:
> > From: Edward D'Souza <edsouza@xxxxxxxxx>
> >
> > Clarify the need to set variables like GIT_PS1_SHOWDIRTYSTATE before
> > "source ~/.git-prompt.sh" is executed in your shell init process.
> >
> > If you set these preferences too late i.e. after .git-prompt.sh executes,
> > they will silently fail to take effect.
>
> I can't reproduce this.  It doesn't matter when these variables are
> set, because __git_ps1() checks them each time it is invoked, it
> always has.
>
>   $ echo $GIT_PS1_SHOWSTASHSTATE $GIT_PS1_SHOWDIRTYSTATE $GIT_PS1_SHOWUNTRACKEDFILES
>
>   /tmp/repo$ git init
>   Initialized empty Git repository in /tmp/repo/.git/
>   /tmp/repo (master)$ echo 1 >file
>   /tmp/repo (master)$ git add file
>   /tmp/repo (master)$ git commit -q -m initial
>   /tmp/repo (master)$ echo 2 >file
>   /tmp/repo (master)$ git stash
>   Saved working directory and index state WIP on master: 5ae0413 initial
>   /tmp/repo (master)$ echo 3 >file
>   /tmp/repo (master)$ git add file
>   /tmp/repo (master)$ echo 4 >file
>   /tmp/repo (master)$ >untracked
>   /tmp/repo (master)$ GIT_PS1_SHOWSTASHSTATE=y
>   /tmp/repo (master $)$ GIT_PS1_SHOWDIRTYSTATE=y
>   /tmp/repo (master *+$)$ GIT_PS1_SHOWUNTRACKEDFILES=y
>   /tmp/repo (master *+$%)$ unset GIT_PS1_SHOWSTASHSTATE GIT_PS1_SHOWDIRTYSTATE GIT_PS1_SHOWUNTRACKEDFILES
>   /tmp/repo (master)$
>
> Note that some of these status indicators are controlled not only by
> environment variables but by corresponding 'bash.<indicator>' config
> variables as well.  Even if the env var is set to enable the status
> indicator globally, the config setting can still override that to
> allow disabling potentially expensive indicators on a per-repo basis.
> Is it possible that you had e.g. 'bash.showDirtyState = false' in your
> config somewhere?
>
> Anyway, even if the issue were real, this patch goes in the wrong
> direction: instead of requiring a workaround from users, we should
> rather fix the issue.
>
> > Signed-off-by: Edward D'Souza <edsouza@xxxxxxxxx>
> > ---
> >  contrib/completion/git-prompt.sh | 5 +++++
> >  1 file changed, 5 insertions(+)
> >
> > diff --git a/contrib/completion/git-prompt.sh b/contrib/completion/git-prompt.sh
> > index c6cbef38c2..ab5bcc0fec 100644
> > --- a/contrib/completion/git-prompt.sh
> > +++ b/contrib/completion/git-prompt.sh
> > @@ -35,6 +35,11 @@
> >  #
> >  # The prompt status always includes the current branch name.
> >  #
> > +# The prompt can be customized by setting various shell variables
> > +# (GIT_PS1_SHOWDIRTYSTATE, GIT_PS1_SHOWSTASHSTATE, etc.), which are described
> > +# below. Make sure that these variables get set *before* the
> > +# "source ~/.git-prompt.sh" line from step 2 (above) runs.
> > +#
> >  # In addition, if you set GIT_PS1_SHOWDIRTYSTATE to a nonempty value,
> >  # unstaged (*) and staged (+) changes will be shown next to the branch
> >  # name.  You can configure this per-repository with the
> > --
> > gitgitgadget
>




[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