Subject: Re: [PATCH] doc: don't claim that cherry-pick calls patch-id

From: Jonathan Nieder <[email-masked]>
Date: Tue, 24 Sep 2013 15:14:09 -0700

Michael S. Tsirkin wrote:

> Subject: [PATCH] doc: don't claim that cherry-pick calls patch-id

s/cherry-pick/cherry/

> The id is already different for binary files.
> Let's document that they are similar, not identical.

Thanks.

[...]
> --- a/Documentation/git-cherry.txt
> +++ b/Documentation/git-cherry.txt
> @@ -13,12 +13,13 @@ SYNOPSIS
>  DESCRIPTION
>  -----------
>  The changeset (or "diff") of each commit between the fork-point and <head>
> -is compared against each commit between the fork-point and <upstream>.
> +is compared against diff of each commit between the fork-point and <upstream>.

I think the old version of this sentence is clearer.

> -The commits are compared with their 'patch id', obtained from
> -the 'git patch-id' program.
> +The diffs are compared with their diff id (sha1) calculated after removing
> +any whitespace and line numbers (similar but not necessarily identical
> +to 'patch id', obtained from the 'git patch-id' program).

The hash used internally is just an implementation detail, so maybe this
sentence could just be dropped?

>  Every commit that doesn't exist in the <upstream> branch
> -has its id (sha1) reported, prefixed by a symbol.  The ones that have
> +has its diff id (sha1) reported, prefixed by a symbol.  The ones that have

Confusingly, here 'id' means 'commit name'.  For example:

 $ git log --oneline -1 sb/repack-in-c
 0b63c6a repack: improve warnings about failure of renaming and removing files
 $ git cherry sb/repack-in-c^ sb/repack-in-c
 + 0b63c6a5b78f3fdd8c4e4fed4e535e7f4eed4257

Hope that helps,
Jonathan