diff options
author | brian m. carlson <sandals@crustytoothpaste.net> | 2015-12-15 01:52:04 +0000 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2015-12-15 10:03:40 -0800 |
commit | 3a30aa17879b08f96262abb9a22c7bbe8f56e4c9 (patch) | |
tree | ace01289693a796bfb19661e6ed78d1b81381859 /builtin | |
parent | 3e56e7245c37ce57dde72ec74ee2df41ce603dda (diff) | |
download | git-3a30aa17879b08f96262abb9a22c7bbe8f56e4c9.tar.gz |
format-patch: add an option to suppress commit hash
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 --zero-commit option that instead
produces an all-zero hash to avoid this diff noise.
Signed-off-by: brian m. carlson <sandals@crustytoothpaste.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'builtin')
-rw-r--r-- | builtin/log.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/builtin/log.c b/builtin/log.c index 069bd3a909..e00cea75cc 100644 --- a/builtin/log.c +++ b/builtin/log.c @@ -1196,6 +1196,7 @@ int cmd_format_patch(int argc, const char **argv, const char *prefix) int cover_letter = -1; int boundary_count = 0; int no_binary_diff = 0; + int zero_commit = 0; struct commit *origin = NULL; const char *in_reply_to = NULL; struct patch_ids ids; @@ -1236,6 +1237,8 @@ int cmd_format_patch(int argc, const char **argv, const char *prefix) PARSE_OPT_NOARG | PARSE_OPT_NONEG, keep_callback }, OPT_BOOL(0, "no-binary", &no_binary_diff, N_("don't output binary diffs")), + OPT_BOOL(0, "zero-commit", &zero_commit, + N_("output all-zero hash in From header")), OPT_BOOL(0, "ignore-if-in-upstream", &ignore_if_in_upstream, N_("don't include a patch matching a commit upstream")), { OPTION_SET_INT, 'p', "no-stat", &use_patch_format, NULL, @@ -1380,6 +1383,8 @@ int cmd_format_patch(int argc, const char **argv, const char *prefix) /* Always generate a patch */ rev.diffopt.output_format |= DIFF_FORMAT_PATCH; + rev.zero_commit = zero_commit; + if (!DIFF_OPT_TST(&rev.diffopt, TEXT) && !no_binary_diff) DIFF_OPT_SET(&rev.diffopt, BINARY); |