diff options
author | Junio C Hamano <gitster@pobox.com> | 2015-06-05 12:00:12 -0700 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2015-06-05 12:00:13 -0700 |
commit | e9f767ecee21af47fa5515ee6f8106d70cabe983 (patch) | |
tree | e0bd4999a874729c219b405dad31e4f82454a062 /dir.c | |
parent | 2d8bb4685c4d1e7187f93436fc26ad468a0cf941 (diff) | |
parent | 099d2d86a8e17218aca31bf7c4070a820baf4baa (diff) | |
download | git-e9f767ecee21af47fa5515ee6f8106d70cabe983.tar.gz |
Merge branch 'jc/gitignore-precedence' into maint
core.excludesfile (defaulting to $XDG_HOME/git/ignore) is supposed
to be overridden by repository-specific .git/info/exclude file, but
the order was swapped from the beginning. This belatedly fixes it.
* jc/gitignore-precedence:
ignore: info/exclude should trump core.excludesfile
Diffstat (limited to 'dir.c')
-rw-r--r-- | dir.c | 10 |
1 files changed, 7 insertions, 3 deletions
@@ -1673,13 +1673,17 @@ void setup_standard_excludes(struct dir_struct *dir) const char *path; dir->exclude_per_dir = ".gitignore"; - path = git_path("info/exclude"); + + /* core.excludefile defaulting to $XDG_HOME/git/ignore */ if (!excludes_file) excludes_file = xdg_config_home("ignore"); - 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) |