Re: test_pause giving '__git_ps1: not found' warning

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

 



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




[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