diff options
author | Junio C Hamano <gitster@pobox.com> | 2019-06-13 13:18:46 -0700 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2019-06-13 13:18:46 -0700 |
commit | 8202d12fca5d482640a51c663d4d556c46dbc6b8 (patch) | |
tree | f5440c439b27b06e00f5d0a5229e42bf7131c20e /builtin | |
parent | Merge branch 'nd/init-relative-template-fix' (diff) | |
parent | format-patch: make --base patch-id output stable (diff) | |
download | tgif-8202d12fca5d482640a51c663d4d556c46dbc6b8.tar.xz |
Merge branch 'sb/format-patch-base-patch-id-fix'
The "--base" option of "format-patch" computed the patch-ids for
prerequisite patches in an unstable way, which has been updated to
compute in a way that is compatible with "git patch-id --stable".
* sb/format-patch-base-patch-id-fix:
format-patch: make --base patch-id output stable
format-patch: inform user that patch-id generation is unstable
Diffstat (limited to 'builtin')
-rw-r--r-- | builtin/log.c | 2 | ||||
-rw-r--r-- | builtin/patch-id.c | 17 |
2 files changed, 2 insertions, 17 deletions
diff --git a/builtin/log.c b/builtin/log.c index e43ee12fb1..147850dc73 100644 --- a/builtin/log.c +++ b/builtin/log.c @@ -1435,7 +1435,7 @@ static void prepare_bases(struct base_tree_info *bases, struct object_id *patch_id; if (*commit_base_at(&commit_base, commit)) continue; - if (commit_patch_id(commit, &diffopt, &oid, 0)) + if (commit_patch_id(commit, &diffopt, &oid, 0, 1)) die(_("cannot get patch id")); ALLOC_GROW(bases->patch_id, bases->nr_patch_id + 1, bases->alloc_patch_id); patch_id = bases->patch_id + bases->nr_patch_id; diff --git a/builtin/patch-id.c b/builtin/patch-id.c index 970d0d30b4..bd28b80b2d 100644 --- a/builtin/patch-id.c +++ b/builtin/patch-id.c @@ -1,5 +1,6 @@ #include "builtin.h" #include "config.h" +#include "diff.h" static void flush_current_id(int patchlen, struct object_id *id, struct object_id *result) { @@ -54,22 +55,6 @@ static int scan_hunk_header(const char *p, int *p_before, int *p_after) return 1; } -static void flush_one_hunk(struct object_id *result, git_SHA_CTX *ctx) -{ - unsigned char hash[GIT_MAX_RAWSZ]; - unsigned short carry = 0; - int i; - - git_SHA1_Final(hash, ctx); - git_SHA1_Init(ctx); - /* 20-byte sum, with carry */ - for (i = 0; i < GIT_SHA1_RAWSZ; ++i) { - carry += result->hash[i] + hash[i]; - result->hash[i] = carry; - carry >>= 8; - } -} - static int get_one_patchid(struct object_id *next_oid, struct object_id *result, struct strbuf *line_buf, int stable) { |