summaryrefslogtreecommitdiff
path: root/builtin
diff options
context:
space:
mode:
authorLibravatar Junio C Hamano <gitster@pobox.com>2019-06-13 13:18:46 -0700
committerLibravatar Junio C Hamano <gitster@pobox.com>2019-06-13 13:18:46 -0700
commit8202d12fca5d482640a51c663d4d556c46dbc6b8 (patch)
treef5440c439b27b06e00f5d0a5229e42bf7131c20e /builtin
parentMerge branch 'nd/init-relative-template-fix' (diff)
parentformat-patch: make --base patch-id output stable (diff)
downloadtgif-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.c2
-rw-r--r--builtin/patch-id.c17
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)
{