Re: test_pause giving '__git_ps1: not found' warning
- From
Philip Oakley <philipoakley@iee.email>
- Date
- Jan 14, 2023, 17:49 UTC
- Message-ID
- <8355f48b-dbf9-7cfe-c85c-0d6ca5926c8c@iee.email>
- In-Reply-To
- <bce6ac3a-17a6-beed-43ef-5a1e0dd92a5d@iee.email>
On 14/01/2023 14:54, Philip Oakley wrote:
Show 32 quoted lines
> I was trying to refine a test_expect_failure test [1] and tried > inserting a `test_pause &&` test line [2]. > > I then found, when it paused, I was repeatedly given the warning line > /bin/sh: 1: __git_ps1: not found > in the terminal until I expected the test shell. > > my PS1 is working normally in the terminal, but not here. Is this > expected, or do I need to set up anything else? > > Normally I'm on Git for Windows, but this was on my old laptop (Acer > 7741 i5 4GB ram..) converted to Ubuntu 20.04, which I use when away. > > The basic sequence was > > ~$ cd repos/git > ~/repos/git (doctrunc *)$ cd t > ~/repos/git/t (doctrunc *)$ ./t4205-log-pretty-formats.sh -i -x -v > Initialized empty Git repository in /home/philip/repos/git/t/trash > directory.t4205-log-pretty-formats/.git/ > > [... ...] > > + git log --format=%<(5,mtrunc)%s -4 > + test_pause > + PAUSE_TERM=dumb > + PAUSE_SHELL=/bin/sh > + PAUSE_HOME=/home/philip/repos/git/t/trash > directory.t4205-log-pretty-formats > + test 0 != 0 > + TERM=dumb HOME=/home/philip/repos/git/t/trash > directory.t4205-log-pretty-formats /bin/sh
I think the 'gotcha' is here in the setting of HOME within the test_pause which in some ways conflicts with the setting of the __git_ps1 instructions [3].
My local .bashrc has
. /home/philip/git-completion.bash . ~/git-prompt.sh export GIT_PS1_SHOWDIRTYSTATE=1 export PS1='\w$(__git_ps1 " (%s)")\$ '
Not sure why I have a relative and an absolute path but... , so I'll try updating the git-prompt.sh to an absolute path, and if that works, maybe think about adding an extra comment to the `test-lib-functions.sh` to note the change of HOME and potential '__git_ps1' problem
[3] https://git-scm.com/book/uz/v2/Appendix-A%3A-Git-in-Other-Environments-Git-in-Bash
Show 19 quoted lines
> /bin/sh: 1: __git_ps1: not found > \w$ git status > On branch source-b > [...] > nothing added to commit but untracked files present (use "git add" to > track) > /bin/sh: 1: __git_ps1: not found > > I added the gits status to see when/where the warning was emitted. > > [1] > https://github.com/PhilipOakley/git/blob/doctrunc/t/t4205-log-pretty-formats.sh#L1021-L1046 > [2] > https://github.com/git/git/blob/master/t/test-lib-functions.sh#L137-L188 > > > Any suggestions as to how to set this up correctly to avoid the warning? > -- > Philip