The whole jc/attr topic is now depended on Stefan's "pathspec label" topic, both of which are in 'next' and cannot be rewound until the next cycle. These five patches are to continue my recent "attributes" work while the tree is in frozen state. A few central data structures, namely "attr_stack" that keeps track of the attributes read from the .gitattributes files in the directory hierarchy of interest and "check_all_attr[]" that keeps track of the state of the attributes for the path being checked, are implemented as file-scope global singletons that belong to the attribute subsystem ("attr.c"). The envisioned endgame is to make them into per "struct git_attr_check" instance, so that the entire system can have multiple "directory hierarchy of interest" and "path being checked", i.e. allow multiple threads to keep their own "git_attr_check" and to use the attribute system simultaneously. To further that plan, the first two patches pass the check[] structure further down the callchain, and the last two patches remove a hack that prevented check[] from being passed in one corner case and always pass it down the callchain. Junio C Hamano (5): attr.c: add push_stack() helper attr.c: pass struct git_attr_check down the callchain fixup! d5ad6c13 attr.c: correct ugly hack for git_all_attrs() attr.c: always pass check[] to collect_some_attrs() attr.c | 143 +++++++++++++++++++++++++++++++++-------------------------------- attr.h | 2 +- 2 files changed, 74 insertions(+), 71 deletions(-) -- 2.9.0-rc2-262-g9161bbf -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html