On Thu, Jan 12, 2017 at 3:53 PM, Brandon Williams <bmw...@google.com> wrote:
> -static void prepare_attr_stack(const char *path, int dirlen)
> +/*
> + * This funciton should only be called from 'get_attr_stack()', which already

"function"

> +               /* 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?

> +
> +               /* 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) ?

Reply via email to