git.fish (fish-3.5.0.tar.xz) | : | git.fish (fish-3.5.1.tar.xz) | ||
---|---|---|---|---|
#RUN: %fish -i %s | #RUN: %fish -i %s | |||
# Note: ^ this is interactive so we test interactive behavior, | # Note: ^ this is interactive so we test interactive behavior, | |||
# e.g. the fish_git_prompt variable handlers test `status is-interactive`. | # e.g. the fish_git_prompt variable handlers test `status is-interactive`. | |||
#REQUIRES: command -v git | #REQUIRES: command -v git | |||
set -g fish (status fish-path) | ||||
# Tests run from git (e.g. git rebase --exec 'ninja test'...) inherit a weird gi t environment. | # Tests run from git (e.g. git rebase --exec 'ninja test'...) inherit a weird gi t environment. | |||
# Ensure that no git environment variables are inherited. | # Ensure that no git environment variables are inherited. | |||
for varname in (set -x | string match 'GIT_*' | string replace -r ' .*' '') | for varname in (set -x | string match 'GIT_*' | string replace -r ' .*' '') | |||
set -e $varname | set -e $varname | |||
end | end | |||
set -gx GIT_CONFIG_GLOBAL /dev/null # No ~/.gitconfig. We could also override $H OME. | set -gx GIT_CONFIG_GLOBAL /dev/null # No ~/.gitconfig. We could also override $H OME. | |||
set -gx GIT_CONFIG_NOSYSTEM true # No /etc/gitconfig | set -gx GIT_CONFIG_NOSYSTEM true # No /etc/gitconfig | |||
# Also ensure that git-core is not in $PATH, as this adds weird git commands lik e `git-add--interactive`. | # Also ensure that git-core is not in $PATH, as this adds weird git commands lik e `git-add--interactive`. | |||
skipping to change at line 135 | skipping to change at line 137 | |||
git config core.sshCommand 'echo sshCommand >> ran.txt; false' | git config core.sshCommand 'echo sshCommand >> ran.txt; false' | |||
git config diff.external 'echo diff >> ran.txt; false' | git config diff.external 'echo diff >> ran.txt; false' | |||
touch untracked_file | touch untracked_file | |||
fish_git_prompt > /dev/null | fish_git_prompt > /dev/null | |||
cat ran.txt # should output nothing | cat ran.txt # should output nothing | |||
test "$(complete -C'git re ')" = "$(complete -C'git restore --staged ')" | test "$(complete -C'git re ')" = "$(complete -C'git restore --staged ')" | |||
or begin | or begin | |||
echo -- Oops re completes unlike restore --staged | echo -- Oops re completes unlike restore --staged | |||
end | end | |||
$fish -c 'complete -C "git -C ./.gi"' | ||||
# CHECK: ./.git/ Directory | ||||
End of changes. 2 change blocks. | ||||
0 lines changed or deleted | 2 lines changed or added |