summaryrefslogtreecommitdiff
path: root/t/t0008-ignores.sh
diff options
context:
space:
mode:
authorJunio C Hamano <gitster@pobox.com>2015-04-22 21:31:49 (GMT)
committerJunio C Hamano <gitster@pobox.com>2015-04-22 21:31:49 (GMT)
commit099d2d86a8e17218aca31bf7c4070a820baf4baa (patch)
tree96b4b0c430ae0f48cca75ea85a192e7c1db36125 /t/t0008-ignores.sh
parent3d8a54eb37d298c251c0b6823dc06935a611bc33 (diff)
downloadgit-099d2d86a8e17218aca31bf7c4070a820baf4baa.zip
git-099d2d86a8e17218aca31bf7c4070a820baf4baa.tar.gz
git-099d2d86a8e17218aca31bf7c4070a820baf4baa.tar.bz2
ignore: info/exclude should trump core.excludesfile
$GIT_DIR/info/exclude and core.excludesfile (which falls back to $XDG_HOME/git/ignore) are both ways to override the ignore pattern lists given by the project in .gitignore files. The former, which is per-repository personal preference, should take precedence over the latter, which is a personal preference default across different repositories that are accessed from that machine. The existing documentation also agrees. However, the precedence order was screwed up between these two from the very beginning when 896bdfa2 (add: Support specifying an excludes file with a configuration variable, 2007-02-27) introduced core.excludesfile variable. Noticed-by: Yohei Endo <yoheie@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 't/t0008-ignores.sh')
-rwxr-xr-xt/t0008-ignores.sh10
1 files changed, 10 insertions, 0 deletions
diff --git a/t/t0008-ignores.sh b/t/t0008-ignores.sh
index b4d98e6..38405de 100755
--- a/t/t0008-ignores.sh
+++ b/t/t0008-ignores.sh
@@ -775,4 +775,14 @@ test_expect_success PIPE 'streaming support for --stdin' '
echo "$response" | grep "^:: two"
'
+test_expect_success 'info/exclude trumps core.excludesfile' '
+ echo >>global-excludes usually-ignored &&
+ echo >>.git/info/exclude "!usually-ignored" &&
+ >usually-ignored &&
+ echo "?? usually-ignored" >expect &&
+
+ git status --porcelain usually-ignored >actual &&
+ test_cmp expect actual
+'
+
test_done