Re: [PATCH 25/27] attr: store attribute stacks in hashmap
flat view
From: Stefan Beller <hidden>
Date: 2017-01-18 20:49:05
On Thu, Jan 12, 2017 at 3:53 PM, Brandon Williams [off-list ref] wrote:
quoted hunk ↗ jump to hunk
-static void prepare_attr_stack(const char *path, int dirlen) +/* + * This funciton should only be called from 'get_attr_stack()', which already
"function"
quoted hunk ↗ jump to hunk
+ /* system-wide frame */ + if (git_attr_system()) { + e = read_attr_from_file(git_etc_gitattributes(), 1);
read_attr_from_file may return NULL, so we'd have to treat this similar to below "root directory", i.e. xcalloc for an empty frame?
quoted hunk ↗ jump to hunk
+ + /* root directory */ + if (!is_bare_repository() || direction == GIT_ATTR_INDEX) { + e = read_attr(GITATTRIBUTES_FILE, 1); + } else { + e = xcalloc(1, sizeof(struct attr_stack)); + } + key = ""; + push_stack(&core, e, key, strlen(key));
If this is a bare repo, could we just omit this frame instead of pushing an empty xcalloc'd frame? (Same for the stack frames of system wide and home dir) ?