mirror of
https://github.com/git/git.git
synced 2024-10-30 22:07:53 +01:00
Merge branch 'mw/bash-prompt-show-untracked-config'
Allows skipping the untracked check GIT_PS1_SHOWUNTRACKEDFILES asks for the git-prompt (in contrib/) per repository. * mw/bash-prompt-show-untracked-config: t9903: add extra tests for bash.showDirtyState t9903: add tests for bash.showUntrackedFiles shell prompt: add bash.showUntrackedFiles option
This commit is contained in:
commit
adbbc6f291
2 changed files with 85 additions and 4 deletions
|
@ -43,7 +43,10 @@
|
|||
#
|
||||
# If you would like to see if there're untracked files, then you can set
|
||||
# GIT_PS1_SHOWUNTRACKEDFILES to a nonempty value. If there're untracked
|
||||
# files, then a '%' will be shown next to the branch name.
|
||||
# files, then a '%' will be shown next to the branch name. You can
|
||||
# configure this per-repository with the bash.showUntrackedFiles
|
||||
# variable, which defaults to true once GIT_PS1_SHOWUNTRACKEDFILES is
|
||||
# enabled.
|
||||
#
|
||||
# If you would like to see the difference between HEAD and its upstream,
|
||||
# set GIT_PS1_SHOWUPSTREAM="auto". A "<" indicates you are behind, ">"
|
||||
|
@ -332,8 +335,10 @@ __git_ps1 ()
|
|||
fi
|
||||
|
||||
if [ -n "${GIT_PS1_SHOWUNTRACKEDFILES-}" ]; then
|
||||
if [ -n "$(git ls-files --others --exclude-standard)" ]; then
|
||||
u="%"
|
||||
if [ "$(git config --bool bash.showUntrackedFiles)" != "false" ]; then
|
||||
if [ -n "$(git ls-files --others --exclude-standard)" ]; then
|
||||
u="%"
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
|
||||
|
|
|
@ -360,11 +360,47 @@ test_expect_success 'prompt - dirty status indicator - before root commit' '
|
|||
test_cmp expected "$actual"
|
||||
'
|
||||
|
||||
test_expect_success 'prompt - dirty status indicator - disabled by config' '
|
||||
test_expect_success 'prompt - dirty status indicator - shell variable unset with config disabled' '
|
||||
printf " (master)" > expected &&
|
||||
echo "dirty" > file &&
|
||||
test_when_finished "git reset --hard" &&
|
||||
test_config bash.showDirtyState false &&
|
||||
(
|
||||
sane_unset GIT_PS1_SHOWDIRTYSTATE &&
|
||||
__git_ps1 > "$actual"
|
||||
) &&
|
||||
test_cmp expected "$actual"
|
||||
'
|
||||
|
||||
test_expect_success 'prompt - dirty status indicator - shell variable unset with config enabled' '
|
||||
printf " (master)" > expected &&
|
||||
echo "dirty" > file &&
|
||||
test_when_finished "git reset --hard" &&
|
||||
test_config bash.showDirtyState true &&
|
||||
(
|
||||
sane_unset GIT_PS1_SHOWDIRTYSTATE &&
|
||||
__git_ps1 > "$actual"
|
||||
) &&
|
||||
test_cmp expected "$actual"
|
||||
'
|
||||
|
||||
test_expect_success 'prompt - dirty status indicator - shell variable set with config disabled' '
|
||||
printf " (master)" > expected &&
|
||||
echo "dirty" > file &&
|
||||
test_when_finished "git reset --hard" &&
|
||||
test_config bash.showDirtyState false &&
|
||||
(
|
||||
GIT_PS1_SHOWDIRTYSTATE=y &&
|
||||
__git_ps1 > "$actual"
|
||||
) &&
|
||||
test_cmp expected "$actual"
|
||||
'
|
||||
|
||||
test_expect_success 'prompt - dirty status indicator - shell variable set with config enabled' '
|
||||
printf " (master *)" > expected &&
|
||||
echo "dirty" > file &&
|
||||
test_when_finished "git reset --hard" &&
|
||||
test_config bash.showDirtyState true &&
|
||||
(
|
||||
GIT_PS1_SHOWDIRTYSTATE=y &&
|
||||
__git_ps1 > "$actual"
|
||||
|
@ -437,6 +473,46 @@ test_expect_success 'prompt - untracked files status indicator - untracked files
|
|||
test_cmp expected "$actual"
|
||||
'
|
||||
|
||||
test_expect_success 'prompt - untracked files status indicator - shell variable unset with config disabled' '
|
||||
printf " (master)" > expected &&
|
||||
test_config bash.showUntrackedFiles false &&
|
||||
(
|
||||
sane_unset GIT_PS1_SHOWUNTRACKEDFILES &&
|
||||
__git_ps1 > "$actual"
|
||||
) &&
|
||||
test_cmp expected "$actual"
|
||||
'
|
||||
|
||||
test_expect_success 'prompt - untracked files status indicator - shell variable unset with config enabled' '
|
||||
printf " (master)" > expected &&
|
||||
test_config bash.showUntrackedFiles true &&
|
||||
(
|
||||
sane_unset GIT_PS1_SHOWUNTRACKEDFILES &&
|
||||
__git_ps1 > "$actual"
|
||||
) &&
|
||||
test_cmp expected "$actual"
|
||||
'
|
||||
|
||||
test_expect_success 'prompt - untracked files status indicator - shell variable set with config disabled' '
|
||||
printf " (master)" > expected &&
|
||||
test_config bash.showUntrackedFiles false &&
|
||||
(
|
||||
GIT_PS1_SHOWUNTRACKEDFILES=y &&
|
||||
__git_ps1 > "$actual"
|
||||
) &&
|
||||
test_cmp expected "$actual"
|
||||
'
|
||||
|
||||
test_expect_success 'prompt - untracked files status indicator - shell variable set with config enabled' '
|
||||
printf " (master %%)" > expected &&
|
||||
test_config bash.showUntrackedFiles true &&
|
||||
(
|
||||
GIT_PS1_SHOWUNTRACKEDFILES=y &&
|
||||
__git_ps1 > "$actual"
|
||||
) &&
|
||||
test_cmp expected "$actual"
|
||||
'
|
||||
|
||||
test_expect_success 'prompt - untracked files status indicator - not shown inside .git directory' '
|
||||
printf " (GIT_DIR!)" > expected &&
|
||||
(
|
||||
|
|
Loading…
Reference in a new issue