Merge branch 'fg/document-commit-message-stripping'
[gitweb.git] / dir.c
diff --git a/dir.c b/dir.c
index a3e70734004e5da22dce9ba4062c0d6684061855..4183acc082671f135fe64cbcaa66ed3b17bc6364 100644 (file)
--- a/dir.c
+++ b/dir.c
@@ -1671,18 +1671,19 @@ int remove_dir_recursively(struct strbuf *path, int flag)
 void setup_standard_excludes(struct dir_struct *dir)
 {
        const char *path;
-       char *xdg_path;
 
        dir->exclude_per_dir = ".gitignore";
+
+       /* core.excludefile defaulting to $XDG_HOME/git/ignore */
+       if (!excludes_file)
+               excludes_file = xdg_config_home("ignore");
+       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 (!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);
 }
 
 int remove_path(const char *name)