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: *.txt eol=lf Given this, looking up "eol" for onefile.txt will give back the string "lf" and GIT_ATTR_SET_TO_VALUE(attr) will return true.