a8f6855f48
We weren't flushing the context each time we processed a hunk in the patch-id generation code in diff.c, but we were doing that when we generated "stable" patch-ids with the 'patch-id' tool. Let's port that similar logic over from patch-id.c into diff.c so we can get the same hash when we're generating patch-ids for 'format-patch --base=' types of command invocations. Cc: Xiaolong Ye <xiaolong.ye@intel.com> Signed-off-by: Stephen Boyd <sboyd@kernel.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>
30 lines
704 B
C
30 lines
704 B
C
#ifndef PATCH_IDS_H
|
|
#define PATCH_IDS_H
|
|
|
|
#include "diff.h"
|
|
#include "hashmap.h"
|
|
|
|
struct commit;
|
|
struct object_id;
|
|
struct repository;
|
|
|
|
struct patch_id {
|
|
struct hashmap_entry ent;
|
|
struct object_id patch_id;
|
|
struct commit *commit;
|
|
};
|
|
|
|
struct patch_ids {
|
|
struct hashmap patches;
|
|
struct diff_options diffopts;
|
|
};
|
|
|
|
int commit_patch_id(struct commit *commit, struct diff_options *options,
|
|
struct object_id *oid, int, int);
|
|
int init_patch_ids(struct repository *, struct patch_ids *);
|
|
int free_patch_ids(struct patch_ids *);
|
|
struct patch_id *add_commit_patch_id(struct commit *, struct patch_ids *);
|
|
struct patch_id *has_commit_patch_id(struct commit *, struct patch_ids *);
|
|
|
|
#endif /* PATCH_IDS_H */
|