mirror of
https://github.com/git/git.git
synced 2024-12-06 00:14:36 +08:00
5d23e133d2
This implements the patch-id computation and recording library, patch-ids.c, and rewrites the get_patch_ids() function used in cherry and format-patch to use it, so that they do not pollute the object namespace. Earlier code threw non-objects into the in-core object database, and hoped for not getting bitten by SHA-1 collisions. While it may be practically Ok, it still was an ugly hack. Signed-off-by: Junio C Hamano <junkio@cox.net>
22 lines
490 B
C
22 lines
490 B
C
#ifndef PATCH_IDS_H
|
|
#define PATCH_IDS_H
|
|
|
|
struct patch_id {
|
|
unsigned char patch_id[20];
|
|
char seen;
|
|
};
|
|
|
|
struct patch_ids {
|
|
struct diff_options diffopts;
|
|
int nr, alloc;
|
|
struct patch_id **table;
|
|
struct patch_id_bucket *patches;
|
|
};
|
|
|
|
int init_patch_ids(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 */
|