GIT_ATTR_FALSE checks if an attribute is set off. In core git parlance, this is the value for attributes that are "Unset" (not to be confused with values that a "Unspecified").
GIT_ATTR_HAS_VALUE checks if an attribute is set to a value (as opposed to TRUE, FALSE or UNSPECIFIED). This would be the case if for a file with something like:
GIT_ATTR_TRUE checks if an attribute is set on. In core git parlance, this the value for "Set" attributes.
GIT_ATTR_UNSPECIFIED checks if an attribute is unspecified. This may be due to the attribute not being mentioned at all or because the attribute was explicitly set unspecified via the ! operator.
Add a macro definition.
Flush the gitattributes cache.
Loop over all the git attributes for a path.
Look up the value of one git attribute for path.
Look up a list of git attributes for path.
Check attribute flags: Reading values from index and working directory.
Check attribute flags: Using the system attributes file.
Git attributes, see: http://git-scm.com/book/ch7-2.html
1 auto repo = initRepo(_userRepo, OpenBare.yes); 2 scope(exit) rmdirRecurse(_userRepo); 3 4 string[] attributes = [ 5 "*.c foo" 6 ]; 7 8 std.file.write(buildPath(repo.path, ".gitattributes"), attributes.join());