[PATCH 00/19] Add --all option to git-check-attr
- From
Michael Haggerty <mhagger@alum.mit.edu>
- Date
- Jul 26, 2011, 14:12 UTC
- Message-ID
- <1311689582-3116-1-git-send-email-mhagger@alum.mit.edu>
Currently it is possible to inquire the values of particular attributes on particular files, using either the API function git_checkattr() or the command "git check-attr". But it is not possible to ask for *all* attributes that are associated with a particular file. This patch series adds that functionality:
* A new API call git_allattr()
* A new option "git check-attr --all -- pathnames"
Along the way, several small cleanups are made in the general neighborhood, including:
* Disallow the empty string as an attribute name
* Provide access to the name attribute of git_attr
* Fail with an error message if no pathnames are provided on the command line (and --stdin is not used)
* If --stdin is used, interpret all command-line arguments as attribute names
* Rename struct git_attr_check to git_attr_value
Most of the patches are hopefully self-explanatory; see the individual patch emails for discussion of changes that might potentially be controversial.
Michael Haggerty (19): doc: Add a link from gitattributes(5) to git-check-attr(1) doc: Correct git_attr() calls in example code Remove anachronism from comment Disallow the empty string as an attribute name git-check-attr: Add missing "&&" git-check-attr: Add tests of command-line parsing Provide access to the name attribute of git_attr git-check-attr: Use git_attr_name() Allow querying all attributes on a file git-check-attr: Extract a function output_attr() git-check-attr: Introduce a new variable git-check-attr: Extract a function error_with_usage() git-check-attr: Handle each error separately git-check-attr: Process command-line args more systematically git-check-attr: Error out if no pathnames are specified git-check-attr: Add an --all option to show all attributes git-check-attr: Drive two tests using the same raw data git-check-attr: Fix command-line handling to match docs Rename struct git_attr_check to git_attr_value
Documentation/git-check-attr.txt | 23 ++++- Documentation/gitattributes.txt | 3 + Documentation/technical/api-gitattributes.txt | 66 +++++++++----- archive.c | 4 +- attr.c | 61 +++++++++++-- attr.h | 24 ++++- builtin/check-attr.c | 123 ++++++++++++++++-------- builtin/pack-objects.c | 4 +- convert.c | 10 +- ll-merge.c | 6 +- t/t0003-attributes.sh | 61 +++++++++---- userdiff.c | 2 +- ws.c | 4 +- 13 files changed, 278 insertions(+), 113 deletions(-)
-- 1.7.6.8.gd2879