提交 099d2d86 编写于 作者: J Junio C Hamano

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: NYohei Endo <yoheie@gmail.com>
Signed-off-by: NJunio C Hamano <gitster@pobox.com>
上级 3d8a54eb
......@@ -1530,15 +1530,19 @@ void setup_standard_excludes(struct dir_struct *dir)
char *xdg_path;
dir->exclude_per_dir = ".gitignore";
path = git_path("info/exclude");
/* core.excludefile defaulting to $XDG_HOME/git/ignore */
if (!excludes_file) {
home_config_paths(NULL, &xdg_path, "ignore");
excludes_file = xdg_path;
}
if (!access_or_warn(path, R_OK, 0))
add_excludes_from_file(dir, path);
if (excludes_file && !access_or_warn(excludes_file, R_OK, 0))
add_excludes_from_file(dir, excludes_file);
/* per repository user preference */
path = git_path("info/exclude");
if (!access_or_warn(path, R_OK, 0))
add_excludes_from_file(dir, path);
}
int remove_path(const char *name)
......
......@@ -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
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册