From: Junio C Hamano <gitster@pobox.com>
To: "brian m. carlson" <sandals@crustytoothpaste.net>
Cc: git@vger.kernel.org, Stefan Beller <stefanbeller@gmail.com>,
Jeff King <peff@peff.net>
Subject: Re: [PATCH 2/2] format-patch: add an option to suppress commit hash
Date: Mon, 07 Dec 2015 11:34:59 -0800 [thread overview]
Message-ID: <xmqqr3iym4rg.fsf@gitster.mtv.corp.google.com> (raw)
In-Reply-To: <1449440196-991107-3-git-send-email-sandals@crustytoothpaste.net> (brian m. carlson's message of "Sun, 6 Dec 2015 22:16:36 +0000")
"brian m. carlson" <sandals@crustytoothpaste.net> writes:
> Oftentimes, patches created by git format-patch will be stored in
> version control or compared with diff. In these cases, two otherwise
> identical patches can have different commit hashes, leading to diff
> noise. Teach git format-patch a --no-hash option that instead produces
> an all-zero hash to avoid this diff noise.
>
> Signed-off-by: brian m. carlson <sandals@crustytoothpaste.net>
> ---
> Documentation/git-format-patch.txt | 4 ++++
> builtin/log.c | 5 +++++
> log-tree.c | 3 ++-
> revision.h | 1 +
> t/t4014-format-patch.sh | 6 ++++++
> 5 files changed, 18 insertions(+), 1 deletion(-)
>
> diff --git a/Documentation/git-format-patch.txt b/Documentation/git-format-patch.txt
> index 40356491..1266f135 100644
> --- a/Documentation/git-format-patch.txt
> +++ b/Documentation/git-format-patch.txt
> @@ -256,6 +256,10 @@ you can use `--suffix=-patch` to get `0001-description-of-my-change-patch`.
> using this option cannot be applied properly, but they are
> still useful for code review.
>
> +--no-hash::
> + Output an all-zero hash in each patch's From header instead
> + of the hash of the commit.
> +
Two (big) problems with the option name.
- "--no-something" would mislead people to think you are removing
something, not replacing it with something else. This option
does the latter (i.e. the first line of your output still has
40-hex; it's just it no longer has a useful 40-hex).
- There are many places we use hexadecimal strings in format-patch
output and you are not removing or replacing all of them, only
the commit object name on the fake "From " line. Saying "hash"
would mislead readers.
> +test_expect_success 'format-patch --no-hash' '
> + git format-patch --no-hash --stdout v2..v1 >patch2 &&
> + cnt=$(egrep "^From 0+ Mon Sep 17 00:00:00 2001" patch2 | wc -l) &&
Don't test "any number of '0'"; test 40 '0's. This is because the
line format was designed to be usable by things like /etc/magic to
detect format-patch output, and we want to notice if/when we break
that aspect of our output format.
> + test $cnt = 3
> +'
> +
> test_done
Thanks.
next prev parent reply other threads:[~2015-12-07 19:35 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-12-06 22:16 [PATCH 0/2] format-patch: introduce option to suppress commit hashes brian m. carlson
2015-12-06 22:16 ` [PATCH 1/2] Introduce a null_oid constant brian m. carlson
2015-12-06 22:16 ` [PATCH 2/2] format-patch: add an option to suppress commit hash brian m. carlson
2015-12-07 19:34 ` Junio C Hamano [this message]
2015-12-07 19:47 ` Junio C Hamano
2015-12-08 1:02 ` brian m. carlson
2015-12-08 18:18 ` Junio C Hamano
2015-12-07 2:49 ` [PATCH 0/2] format-patch: introduce option to suppress commit hashes Junio C Hamano
2015-12-07 3:30 ` brian m. carlson
2015-12-07 8:22 ` Junio C Hamano
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=xmqqr3iym4rg.fsf@gitster.mtv.corp.google.com \
--to=gitster@pobox.com \
--cc=git@vger.kernel.org \
--cc=peff@peff.net \
--cc=sandals@crustytoothpaste.net \
--cc=stefanbeller@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.