threads / patch / 15880

patchImprove and fix git-check-attr(1)

Subject: [PATCH] Improve and fix git-check-attr(1)

## tl;dr

4 messages between Oct 13, 2008 and Oct 15, 2008. Diffs are folded; open one to read it.

replies: 3people: 2as markdown or json

Jonas Fonseca· Oct 13, 2008, 17:57 UTC · lore

Always use 'verse' for multi-line synopsis sections. Add output and example sections to document what output can be expected.

Signed-off-by: Jonas Fonseca <fonseca@diku.dk>
---
 Documentation/git-check-attr.txt |   63 +++++++++++++++++++++++++++++++++++++-
 1 files changed, 62 insertions(+), 1 deletions(-)
 At least the first chunk should be applied. The last is a quick attempt
 at documenting the expected output formally and with examples.
Show changes to Documentation/git-check-attr.txt +62 −1
diff --git a/Documentation/git-check-attr.txt b/Documentation/git-check-attr.txt
index 14e4374..09c5234 100644
--- a/Documentation/git-check-attr.txt
+++ b/Documentation/git-check-attr.txt
@@ -8,8 +8,9 @@ git-check-attr - Display gitattributes information.
 
 SYNOPSIS
 --------
+[verse]
 'git check-attr' attr... [--] pathname...
-'git check-attr' --stdin [-z] attr... < <list-of-paths
+'git check-attr' --stdin [-z] attr... < <list-of-paths>
 
 DESCRIPTION
 -----------
@@ -30,6 +31,66 @@ OPTIONS
 	arguments as path names. If not supplied, only the first argument will
 	be treated as an attribute.
 
+OUTPUT
+------
+
+The output is of the form:
+<path> COLON SP <attribute> COLON SP <info> LF
+
+Where <path> is the path of a file being queried, <attribute> is an attribute
+being queried and <info> can be either:
+
+'unspecified';; when the attribute is not defined for the path.
+'unset';; when the attribute is defined to false.
+'set';; when the attribute is defined to true.
+<value>;; when a value has been assigned to the attribute.
+
+EXAMPLES
+--------
+
+In the following examples, the following '.gitattributes' file is used:
+---------------
+*.java diff=java -crlf myAttr
+README caveat=unspecified
+---------------
+
+* Output for an unspecified attribute:
+---------------
+$ git check-attr filter src/org/example/lib/MyClass.java
+src/org/example/lib/MyClass.java: filter: unspecified
+---------------
+
+* Output for an unset attribute:
+---------------
+$ git check-attr crlf src/org/example/lib/MyClass.java
+src/org/example/lib/MyClass.java: crlf: unset
+---------------
+
+* Output for an attribute that has been set:
+---------------
+$ git check-attr myAttr src/org/example/lib/MyClass.java
+src/org/example/lib/MyClass.java: myAttr: set
+---------------
+
+* Output for an attribute set to a value:
+---------------
+$ git check-attr diff src/org/example/lib/MyClass.java
+src/org/example/lib/MyClass.java: diff: java
+---------------
+
+* Listing multiple attributes for a file:
+---------------
+$ git check-attr crlf diff myAttr -- src/org/example/lib/MyClass.java
+src/org/example/lib/MyClass.java: crlf: unset
+src/org/example/lib/MyClass.java: diff: java
+src/org/example/lib/MyClass.java: myAttr: set
+---------------
+
+* Not all values are equally unambiguous:
+---------------
+$ git check-attr caveat README
+src/org/example/lib/MyClass.java: caveat: unspecified
+---------------
 
 SEE ALSO
 --------
-- 
tg: (340fcf4..) jf/man-git-check-attr (depends on: next)

-- 
Jonas Fonseca
Junio C Hamano· Oct 14, 2008, 23:58 UTC · re: Jonas Fonseca · lore

Re: [PATCH] Improve and fix git-check-attr(1)

Jonas Fonseca <fonseca@diku.dk> writes:
Show 13 quoted lines
> Always use 'verse' for multi-line synopsis sections. Add output and
> example sections to document what output can be expected.
>
> Signed-off-by: Jonas Fonseca <fonseca@diku.dk>
>
> ---
>  Documentation/git-check-attr.txt |   63 +++++++++++++++++++++++++++++++++++++-
>  1 files changed, 62 insertions(+), 1 deletions(-)
>
>  At least the first chunk should be applied. The last is a quick attempt
>  at documenting the expected output formally and with examples.
> ...
> tg: (340fcf4..) jf/man-git-check-attr (depends on: next)

Should this really have to depend on next? I have a feeling that a large part of this (sans --stdin/-z) is a 'maint' material.

Could you split this into two patches, one for 'maint' to describe the output format, and another for 'next' (or 'dp/checkattr') to update the SYNOPSIS part?

Jonas Fonseca· Oct 15, 2008, 07:10 UTC · re: Junio C Hamano · lore

[PATCH 1/2] git-check-attr(1): add output and example sections

Plumbing tools should document what output can be expected.
Signed-off-by: Jonas Fonseca <fonseca@diku.dk>
---
 Documentation/git-check-attr.txt |   50 ++++++++++++++++++++++++++++++++++++++
 1 files changed, 50 insertions(+), 0 deletions(-)
 Junio C Hamano <gitster@pobox.com> wrote Tue, Oct 14, 2008:
 > Should this really have to depend on next?
 This is just topgit listing the patch dependencies.
 > Could you split this into two patches, one for 'maint' to describe the
 > output format, and another for 'next' (or 'dp/checkattr') to update the
 > SYNOPSIS part?
 Done. The example has been updated to also show '!' in action.
Show changes to Documentation/git-check-attr.txt +50 −0
diff --git a/Documentation/git-check-attr.txt b/Documentation/git-check-attr.txt
index 2b821f2..8460a87 100644
--- a/Documentation/git-check-attr.txt
+++ b/Documentation/git-check-attr.txt
@@ -22,6 +22,56 @@ OPTIONS
 	arguments as path names. If not supplied, only the first argument will
 	be treated as an attribute.
 
+OUTPUT
+------
+
+The output is of the form:
+<path> COLON SP <attribute> COLON SP <info> LF
+
+Where <path> is the path of a file being queried, <attribute> is an attribute
+being queried and <info> can be either:
+
+'unspecified';; when the attribute is not defined for the path.
+'unset';;	when the attribute is defined to false.
+'set';;		when the attribute is defined to true.
+<value>;;	when a value has been assigned to the attribute.
+
+EXAMPLES
+--------
+
+In the examples, the following '.gitattributes' file is used:
+---------------
+*.java diff=java -crlf myAttr
+NoMyAttr.java !myAttr
+README caveat=unspecified
+---------------
+
+* Listing a single attribute:
+---------------
+$ git check-attr diff org/example/MyClass.java
+org/example/MyClass.java: diff: java
+---------------
+
+* Listing multiple attributes for a file:
+---------------
+$ git check-attr crlf diff myAttr -- org/example/MyClass.java
+org/example/MyClass.java: crlf: unset
+org/example/MyClass.java: diff: java
+org/example/MyClass.java: myAttr: set
+---------------
+
+* Listing attribute for multiple files:
+---------------
+$ git check-attr myAttr -- org/example/MyClass.java org/example/NoMyAttr.java
+org/example/MyClass.java: myAttr: set
+org/example/NoMyAttr.java: myAttr: unspecified
+---------------
+
+* Not all values are equally unambiguous:
+---------------
+$ git check-attr caveat README
+README: caveat: unspecified
+---------------
 
 SEE ALSO
 --------
-- 
tg: (6c16792..) jf/man-git-check-attr-output (depends on: maint)

-- 
Jonas Fonseca
Jonas Fonseca· Oct 15, 2008, 07:11 UTC · re: Junio C Hamano · lore

[PATCH 2/2] git-check-attr(1): use 'verse' for multi-line synopsis sections

Signed-off-by: Jonas Fonseca <fonseca@diku.dk>
---
 Documentation/git-check-attr.txt |    3 ++-
 1 files changed, 2 insertions(+), 1 deletions(-)
Show changes to Documentation/git-check-attr.txt +2 −1
diff --git a/Documentation/git-check-attr.txt b/Documentation/git-check-attr.txt
index 59d5cd2..dcf7650 100644
--- a/Documentation/git-check-attr.txt
+++ b/Documentation/git-check-attr.txt
@@ -8,8 +8,9 @@ git-check-attr - Display gitattributes information.
 
 SYNOPSIS
 --------
+[verse]
 'git check-attr' attr... [--] pathname...
-'git check-attr' --stdin [-z] attr... < <list-of-paths
+'git check-attr' --stdin [-z] attr... < <list-of-paths>
 
 DESCRIPTION
 -----------
-- 
tg: (34458dd..) jf/man-git-check-attr-synopsis (depends on: jf/man-git-check-attr-output next)

-- 
Jonas Fonseca

← back to recent threads