/* An attribute is a pointer to this opaque structure */
struct git_attr;
-/* opaque structure used internally for attribute collection */
+/* opaque structures used internally for attribute collection */
struct all_attrs_item;
+struct attr_stack;
/*
* Given a string, return the gitattribute object that
struct attr_check_item *items;
int all_attrs_nr;
struct all_attrs_item *all_attrs;
+ struct attr_stack *stack;
};
extern struct attr_check *attr_check_alloc(void);
extern struct attr_check *attr_check_initl(const char *, ...);
+extern struct attr_check *attr_check_dup(const struct attr_check *check);
extern struct attr_check_item *attr_check_append(struct attr_check *check,
const struct git_attr *attr);
GIT_ATTR_CHECKOUT,
GIT_ATTR_INDEX
};
-void git_attr_set_direction(enum git_attr_direction, struct index_state *);
+void git_attr_set_direction(enum git_attr_direction new_direction,
+ struct index_state *istate);
extern void attr_start(void);