Let core.attributesfile default to $XDG_CONFIG_HOME/git/attributes
[gitweb.git] / attr.c
diff --git a/attr.c b/attr.c
index 303751f6c2bd4d558cffbb928c636581efb2b310..aef93d896f7e72ec534c0c2c576e418bedc5cb30 100644 (file)
--- a/attr.c
+++ b/attr.c
@@ -497,6 +497,7 @@ static int git_attr_system(void)
 static void bootstrap_attr_stack(void)
 {
        struct attr_stack *elem;
+       char *xdg_attributes_file;
 
        if (attr_stack)
                return;
@@ -515,13 +516,15 @@ static void bootstrap_attr_stack(void)
                }
        }
 
-       if (git_attributes_file) {
-               elem = read_attr_from_file(git_attributes_file, 1);
-               if (elem) {
-                       elem->origin = NULL;
-                       elem->prev = attr_stack;
-                       attr_stack = elem;
-               }
+       if (!git_attributes_file) {
+               home_config_paths(NULL, &xdg_attributes_file, "attributes");
+               git_attributes_file = xdg_attributes_file;
+       }
+       elem = read_attr_from_file(git_attributes_file, 1);
+       if (elem) {
+               elem->origin = NULL;
+               elem->prev = attr_stack;
+               attr_stack = elem;
        }
 
        if (!is_bare_repository() || direction == GIT_ATTR_INDEX) {