threads / patch / 59895

patchdocs: add git-hash-object -t option's possible values

Subject: [PATCH] docs: add git-hash-object -t option's possible values

## tl;dr

10 messages between Jun 22, 2023 and Jun 29, 2023. Diffs are folded; open one to read it.

replies: 9people: 4as markdown or json

John Cai via GitGitGadget· Jun 22, 2023, 00:46 UTC · lore
From: John Cai <johncai86@gmail.com>

For newer users of Git, the possible values of -t in git-hash-object may not be apparent. In fact the current verbiage under NAME could lead one to conclude that git-hash-object(1) can only be used to create blobs.

Update the verbiage to make it clear the command can be used to write objects, not just blobs. Also add the possible values for -t.

Signed-off-by: John Cai <johncai86@gmail.com>
---
    docs: add git-hash-object -t option's possible values
    
    For newer users of Git, the possible values of -t in git-hash-object may
    not be apparent. In fact the current verbiage under NAME could lead one
    to conclude that git-hash-object(1) can only be used to create blobs.
    
    Update the verbiage to make it clear the command can be used to write
    objects, not just blobs. Also add the possible values for -t.
Published-As: https://github.com/gitgitgadget/git/releases/tag/pr-git-1533%2Fjohn-cai%2Fjc%2Fhash-object-documentation-update-v1
Fetch-It-Via: git fetch https://github.com/gitgitgadget/git pr-git-1533/john-cai/jc/hash-object-documentation-update-v1
Pull-Request: https://github.com/git/git/pull/1533
 Documentation/git-hash-object.txt | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)
Show changes to Documentation/git-hash-object.txt +3 −2
diff --git a/Documentation/git-hash-object.txt b/Documentation/git-hash-object.txt
index 472b5bb995b..404e339e170 100644
--- a/Documentation/git-hash-object.txt
+++ b/Documentation/git-hash-object.txt
@@ -3,7 +3,7 @@ git-hash-object(1)
 
 NAME
 ----
-git-hash-object - Compute object ID and optionally creates a blob from a file
+git-hash-object - Compute object ID and optionally creates an object from a file
 
 
 SYNOPSIS
@@ -25,7 +25,8 @@ OPTIONS
 -------
 
 -t <type>::
-	Specify the type (default: "blob").
+	Specify the type (default: "blob"). Possible values are `commit`,
+	`tree`, `blob`, and `tag`.
 
 -w::
 	Actually write the object into the object database.

base-commit: 6640c2d06d112675426cf436f0594f0e8c614848
-- 
gitgitgadget
brian m. carlson· Jun 22, 2023, 00:59 UTC · re: John Cai via GitGitGadget · lore

Re: [PATCH] docs: add git-hash-object -t option's possible values

On 2023-06-22 at 00:46:34, John Cai via GitGitGadget wrote:
Show 9 quoted lines
> From: John Cai <johncai86@gmail.com>
> 
> For newer users of Git, the possible values of -t in git-hash-object may
> not be apparent. In fact the current verbiage under NAME could
> lead one to conclude that git-hash-object(1) can only be used to create
> blobs.
> 
> Update the verbiage to make it clear the command can be used to write
> objects, not just blobs. Also add the possible values for -t.

Sure, I think this is a good change. I'm of the opinion we should tell people explicitly what the valid values are whenever there are a reasonable number.

-- 
brian m. carlson (he/him or they/them)
Toronto, Ontario, CA
Junio C Hamano· Jun 22, 2023, 23:04 UTC · re: brian m. carlson · lore

Re: [PATCH] docs: add git-hash-object -t option's possible values

"brian m. carlson" <sandals@crustytoothpaste.net> writes:
Show 14 quoted lines
> On 2023-06-22 at 00:46:34, John Cai via GitGitGadget wrote:
>> From: John Cai <johncai86@gmail.com>
>> 
>> For newer users of Git, the possible values of -t in git-hash-object may
>> not be apparent. In fact the current verbiage under NAME could
>> lead one to conclude that git-hash-object(1) can only be used to create
>> blobs.
>> 
>> Update the verbiage to make it clear the command can be used to write
>> objects, not just blobs. Also add the possible values for -t.
>
> Sure, I think this is a good change.  I'm of the opinion we should tell
> people explicitly what the valid values are whenever there are a
> reasonable number.

Strictly speaking, the valid values become unbounded under --literally, but it is just for those who build and experiment with Git, not for end-users or toolsmiths, so I am OK with listing the four object types here.

Thanks.
Taylor Blau· Jun 22, 2023, 12:38 UTC · re: John Cai via GitGitGadget · lore

Re: [PATCH] docs: add git-hash-object -t option's possible valuesync-mailbox>

On Thu, Jun 22, 2023 at 12:46:34AM +0000, John Cai via GitGitGadget wrote:
Show 6 quoted lines
> From: John Cai <johncai86@gmail.com>
>
> For newer users of Git, the possible values of -t in git-hash-object may
> not be apparent. In fact the current verbiage under NAME could
> lead one to conclude that git-hash-object(1) can only be used to create
> blobs.

In the above, these days we would say "git hash-object" instead of "git-hash-object" (but "git-hash-object(1)" is correct to refer to the manual page).

Not worth a reroll on its own, of course, but something to keep in mind for the future.

Otherwise, this patch looks good to me.

Thanks, Taylor

Junio C Hamano· Jun 22, 2023, 23:13 UTC · re: Taylor Blau · lore

Re: [PATCH] docs: add git-hash-object -t option's possible values

Taylor Blau <me@ttaylorr.com> writes:
Show 7 quoted lines
> On Thu, Jun 22, 2023 at 12:46:34AM +0000, John Cai via GitGitGadget wrote:
>> From: John Cai <johncai86@gmail.com>
>>
>> For newer users of Git, the possible values of -t in git-hash-object may
>> not be apparent. In fact the current verbiage under NAME could
>> lead one to conclude that git-hash-object(1) can only be used to create
>> blobs.

While I do not oppose to the patch text that lists four object types explicitly, I am not sure if the above is a reasonable justification to do so.

I think the phrase "default:" in front of explicit singling out of "blob" in the description is sufficient to hint that "blob" is merely one of the types it can create. Also why do we expect that newer users of Git would be playing with hash-object before even learning there are other three types (or only after reading the one-line summary without description)? It almost smells like asking for trouble.

Verbiage refers to uses of too many words or excessively technical expressions. I do not think a single-line summary of the command qualifies for one.

So, I like the patch text, but not the way it is sold with its proposed log message.

Thanks.
John Cai· Jun 23, 2023, 18:08 UTC · re: Junio C Hamano · lore

Re: [PATCH] docs: add git-hash-object -t option's possible values

Hi Junio,
On 22 Jun 2023, at 19:13, Junio C Hamano wrote:
Show 17 quoted lines
> Taylor Blau <me@ttaylorr.com> writes:
>
>> On Thu, Jun 22, 2023 at 12:46:34AM +0000, John Cai via GitGitGadget wrote:
>>> From: John Cai <johncai86@gmail.com>
>>>
>>> For newer users of Git, the possible values of -t in git-hash-object may
>>> not be apparent. In fact the current verbiage under NAME could
>>> lead one to conclude that git-hash-object(1) can only be used to create
>>> blobs.
>
> While I do not oppose to the patch text that lists four object types
> explicitly, I am not sure if the above is a reasonable justification
> to do so.
>
> I think the phrase "default:" in front of explicit singling out of
> "blob" in the description is sufficient to hint that "blob" is
> merely one of the types it can create.

I think the default does indicate that there are other types, but at least for myself it created a bit of uncertainty as to what other types the command accepted. Of course, a quick test on the command line is sufficient to confirm the support for commit, tree, and tag--but I still think the current verbiage leaves enough room for ambiguity, even for users of Git who are aware of all the object types.

> Also why do we expect thatnewer users of Git would be playing with hash-object
> before even learning there are other three types (or only after reading the
> one-line summary without description)?  It almost smells like asking for
> trouble.

I do agree with this reasoning. "newer users of Git" does not sound like the right phrase to use.

Show 7 quoted lines
>
> Verbiage refers to uses of too many words or excessively technical
> expressions.  I do not think a single-line summary of the command
> qualifies for one.
>
> So, I like the patch text, but not the way it is sold with its
> proposed log message.

Will re-roll with updated text. Also, based on Taylor's feedback of git-hash-object vs git hash-object.

>
> Thanks.

thanks! John

John Cai via GitGitGadget· Jun 23, 2023, 21:25 UTC · re: John Cai via GitGitGadget · lore

[PATCH v2] docs: add git hash-object -t option's possible values

From: John Cai <johncai86@gmail.com>

The verbiage under the NAME section for git hash-object could lead one to conclude that git hash-object can only be used to create blobs when in fact the description makes it clear that it can be used to create objects, not just blobs. Lets clarify this in the NAME text.

Further, the description for the option -t does not list out other types that can be used. Let's make this explicit by listing out the different object types.

Signed-off-by: John Cai <johncai86@gmail.com>
---
    docs: add git-hash-object -t option's possible values
    
    For newer users of Git, the possible values of -t in git-hash-object may
    not be apparent. In fact the current verbiage under NAME could lead one
    to conclude that git-hash-object(1) can only be used to create blobs.
    
    Update the verbiage to make it clear the command can be used to write
    objects, not just blobs. Also add the possible values for -t.
    
    Changes since v1:
    
     * updated verbiage of commit message
Published-As: https://github.com/gitgitgadget/git/releases/tag/pr-git-1533%2Fjohn-cai%2Fjc%2Fhash-object-documentation-update-v2
Fetch-It-Via: git fetch https://github.com/gitgitgadget/git pr-git-1533/john-cai/jc/hash-object-documentation-update-v2
Pull-Request: https://github.com/git/git/pull/1533
Range-diff vs v1:
 1:  38515c660fb ! 1:  2483375ecb8 docs: add git-hash-object -t option's possible values
     @@ Metadata
      Author: John Cai <johncai86@gmail.com>
      
       ## Commit message ##
     -    docs: add git-hash-object -t option's possible values
     +    docs: add git hash-object -t option's possible values
      
     -    For newer users of Git, the possible values of -t in git-hash-object may
     -    not be apparent. In fact the current verbiage under NAME could
     -    lead one to conclude that git-hash-object(1) can only be used to create
     -    blobs.
     +    The verbiage under the NAME section for git hash-object could
     +    lead one to conclude that git hash-object can only be used to create
     +    blobs when in fact the description makes it clear that it can be used to
     +    create objects, not just blobs. Lets clarify this in the NAME text.
      
     -    Update the verbiage to make it clear the command can be used to write
     -    objects, not just blobs. Also add the possible values for -t.
     +    Further, the description for the option -t does not list out other types
     +    that can be used. Let's make this explicit by listing out the different
     +    object types.
      
          Signed-off-by: John Cai <johncai86@gmail.com>
      
 Documentation/git-hash-object.txt | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)
Show changes to Documentation/git-hash-object.txt +3 −2
diff --git a/Documentation/git-hash-object.txt b/Documentation/git-hash-object.txt
index 472b5bb995b..404e339e170 100644
--- a/Documentation/git-hash-object.txt
+++ b/Documentation/git-hash-object.txt
@@ -3,7 +3,7 @@ git-hash-object(1)
 
 NAME
 ----
-git-hash-object - Compute object ID and optionally creates a blob from a file
+git-hash-object - Compute object ID and optionally creates an object from a file
 
 
 SYNOPSIS
@@ -25,7 +25,8 @@ OPTIONS
 -------
 
 -t <type>::
-	Specify the type (default: "blob").
+	Specify the type (default: "blob"). Possible values are `commit`,
+	`tree`, `blob`, and `tag`.
 
 -w::
 	Actually write the object into the object database.

base-commit: 6640c2d06d112675426cf436f0594f0e8c614848
-- 
gitgitgadget
Junio C Hamano· Jun 23, 2023, 21:43 UTC · re: John Cai via GitGitGadget · lore

Re: [PATCH v2] docs: add git hash-object -t option's possible values

"John Cai via GitGitGadget" <gitgitgadget@gmail.com> writes:
> From: John Cai <johncai86@gmail.com>
>
> The verbiage under the NAME section for git hash-object could
Stil a verbiage?
> lead one to conclude that git hash-object can only be used to create
> blobs when in fact the description makes it clear that it can be used to
> create objects, not just blobs. Lets clarify this in the NAME text.

"Lets" -> "Let's". "Let's clarify the one-line summary." Similarly,

    The one-line summary for 'git hash-object' can mislead hasty
    readers to think that the command can only be used to ...
or something, perhaps.
Show 5 quoted lines
> Further, the description for the option -t does not list out other types
> that can be used. Let's make this explicit by listing out the different
> object types.
>
> Signed-off-by: John Cai <johncai86@gmail.com>
Nice.
Show 8 quoted lines
>     docs: add git-hash-object -t option's possible values
>     
>     For newer users of Git, the possible values of -t in git-hash-object may
>     not be apparent. In fact the current verbiage under NAME could lead one
>     to conclude that git-hash-object(1) can only be used to create blobs.
>     
>     Update the verbiage to make it clear the command can be used to write
>     objects, not just blobs. Also add the possible values for -t.
What is this older version of the proposed log message?
Show 50 quoted lines
>     Changes since v1:
>     
>      * updated verbiage of commit message
>
> Published-As: https://github.com/gitgitgadget/git/releases/tag/pr-git-1533%2Fjohn-cai%2Fjc%2Fhash-object-documentation-update-v2
> Fetch-It-Via: git fetch https://github.com/gitgitgadget/git pr-git-1533/john-cai/jc/hash-object-documentation-update-v2
> Pull-Request: https://github.com/git/git/pull/1533
>
> Range-diff vs v1:
>
>  1:  38515c660fb ! 1:  2483375ecb8 docs: add git-hash-object -t option's possible values
>      @@ Metadata
>       Author: John Cai <johncai86@gmail.com>
>       
>        ## Commit message ##
>      -    docs: add git-hash-object -t option's possible values
>      +    docs: add git hash-object -t option's possible values
>       
>      -    For newer users of Git, the possible values of -t in git-hash-object may
>      -    not be apparent. In fact the current verbiage under NAME could
>      -    lead one to conclude that git-hash-object(1) can only be used to create
>      -    blobs.
>      +    The verbiage under the NAME section for git hash-object could
>      +    lead one to conclude that git hash-object can only be used to create
>      +    blobs when in fact the description makes it clear that it can be used to
>      +    create objects, not just blobs. Lets clarify this in the NAME text.
>       
>      -    Update the verbiage to make it clear the command can be used to write
>      -    objects, not just blobs. Also add the possible values for -t.
>      +    Further, the description for the option -t does not list out other types
>      +    that can be used. Let's make this explicit by listing out the different
>      +    object types.
>       
>           Signed-off-by: John Cai <johncai86@gmail.com>
>       
>
>
>  Documentation/git-hash-object.txt | 5 +++--
>  1 file changed, 3 insertions(+), 2 deletions(-)
>
> diff --git a/Documentation/git-hash-object.txt b/Documentation/git-hash-object.txt
> index 472b5bb995b..404e339e170 100644
> --- a/Documentation/git-hash-object.txt
> +++ b/Documentation/git-hash-object.txt
> @@ -3,7 +3,7 @@ git-hash-object(1)
>  
>  NAME
>  ----
> -git-hash-object - Compute object ID and optionally creates a blob from a file
> +git-hash-object - Compute object ID and optionally creates an object from a file

Not a new problem, but as we are updating the one-line summary, perhaps we should also do "creates" -> "create" to match "Compute".

Show 9 quoted lines
>  
>  SYNOPSIS
> @@ -25,7 +25,8 @@ OPTIONS
>  -------
>  
>  -t <type>::
> -	Specify the type (default: "blob").
> +	Specify the type (default: "blob"). Possible values are `commit`,
> +	`tree`, `blob`, and `tag`.

Not a new problem, but "-t <type>" alone is clear enough that it specifies something called "type" already. If we are to explain it further, we should at least say something about the significance of that "type" thing. Perhaps "Specify the type of the object to be created" or something?

Thanks.
John Cai via GitGitGadget· Jun 29, 2023, 02:07 UTC · re: John Cai via GitGitGadget · lore

[PATCH v3] docs: add git hash-object -t option's possible values

From: John Cai <johncai86@gmail.com>

The summary under the NAME section for git hash-object can mislead readers to conclude that the command can only be used to create blobs, whereas the description makes it clear that it can be used to create objects, not just blobs. Let's clarify the one-line summary.

Further, the description for the option -t does not list out other types that can be used when creating objects. Let's make this explicit by listing out the different object types.

Signed-off-by: John Cai <johncai86@gmail.com>
---
    docs: add git-hash-object -t option's possible values
    
    For newer users of Git, the possible values of -t in git-hash-object may
    not be apparent. In fact the current verbiage under NAME could lead one
    to conclude that git-hash-object(1) can only be used to create blobs.
    
    Update the verbiage to make it clear the command can be used to write
    objects, not just blobs. Also add the possible values for -t.
    
    Changes since v2:
    
     * grammatical corrections in command documentation.
     * clarify -t text by specifying what "type" is.
    
    Changes since v1:
    
     * updated verbiage of commit message
Published-As: https://github.com/gitgitgadget/git/releases/tag/pr-git-1533%2Fjohn-cai%2Fjc%2Fhash-object-documentation-update-v3
Fetch-It-Via: git fetch https://github.com/gitgitgadget/git pr-git-1533/john-cai/jc/hash-object-documentation-update-v3
Pull-Request: https://github.com/git/git/pull/1533
Range-diff vs v2:
 1:  2483375ecb8 ! 1:  9e0bec41285 docs: add git hash-object -t option's possible values
     @@ Metadata
       ## Commit message ##
          docs: add git hash-object -t option's possible values
      
     -    The verbiage under the NAME section for git hash-object could
     -    lead one to conclude that git hash-object can only be used to create
     -    blobs when in fact the description makes it clear that it can be used to
     -    create objects, not just blobs. Lets clarify this in the NAME text.
     +    The summary under the NAME section for git hash-object can mislead
     +    readers to conclude that the command can only be used to create blobs,
     +    whereas the description makes it clear that it can be used to create
     +    objects, not just blobs. Let's clarify the one-line summary.
      
          Further, the description for the option -t does not list out other types
     -    that can be used. Let's make this explicit by listing out the different
     -    object types.
     +    that can be used when creating objects. Let's make this explicit by
     +    listing out the different object types.
      
          Signed-off-by: John Cai <johncai86@gmail.com>
      
     @@ Documentation/git-hash-object.txt: git-hash-object(1)
       NAME
       ----
      -git-hash-object - Compute object ID and optionally creates a blob from a file
     -+git-hash-object - Compute object ID and optionally creates an object from a file
     ++git-hash-object - Compute object ID and optionally create an object from a file
       
       
       SYNOPSIS
     @@ Documentation/git-hash-object.txt: OPTIONS
       
       -t <type>::
      -	Specify the type (default: "blob").
     -+	Specify the type (default: "blob"). Possible values are `commit`,
     -+	`tree`, `blob`, and `tag`.
     ++	Specify the type of object to be created (default: "blob"). Possible
     ++	values are `commit`, `tree`, `blob`, and `tag`.
       
       -w::
       	Actually write the object into the object database.
 Documentation/git-hash-object.txt | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)
Show changes to Documentation/git-hash-object.txt +3 −2
diff --git a/Documentation/git-hash-object.txt b/Documentation/git-hash-object.txt
index 472b5bb995b..8577f7a7d40 100644
--- a/Documentation/git-hash-object.txt
+++ b/Documentation/git-hash-object.txt
@@ -3,7 +3,7 @@ git-hash-object(1)
 
 NAME
 ----
-git-hash-object - Compute object ID and optionally creates a blob from a file
+git-hash-object - Compute object ID and optionally create an object from a file
 
 
 SYNOPSIS
@@ -25,7 +25,8 @@ OPTIONS
 -------
 
 -t <type>::
-	Specify the type (default: "blob").
+	Specify the type of object to be created (default: "blob"). Possible
+	values are `commit`, `tree`, `blob`, and `tag`.
 
 -w::
 	Actually write the object into the object database.

base-commit: 6640c2d06d112675426cf436f0594f0e8c614848
-- 
gitgitgadget
Junio C Hamano· Jun 29, 2023, 18:15 UTC · re: John Cai via GitGitGadget · lore

Re: [PATCH v3] docs: add git hash-object -t option's possible values

"John Cai via GitGitGadget" <gitgitgadget@gmail.com> writes:
Show 13 quoted lines
> From: John Cai <johncai86@gmail.com>
>
> The summary under the NAME section for git hash-object can mislead
> readers to conclude that the command can only be used to create blobs,
> whereas the description makes it clear that it can be used to create
> objects, not just blobs. Let's clarify the one-line summary.
>
> Further, the description for the option -t does not list out other types
> that can be used when creating objects. Let's make this explicit by
> listing out the different object types.
>
> Signed-off-by: John Cai <johncai86@gmail.com>
> ---
Looks good.  Queued.  Let's merge it down to 'next' and below.
Thanks.

← back to recent threads