From: Philip Oakley Date: Sat, 14 Jan 2023 17:49:15 GMT Subject: Re: test_pause giving '__git_ps1: not found' warning Message-ID: <8355f48b-dbf9-7cfe-c85c-0d6ca5926c8c@iee.email> In-Reply-To: On 14/01/2023 14:54, Philip Oakley wrote: > 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 > /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