diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-09 13:34:27 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-09 13:34:27 +0000 |
commit | 4dbdc42d9e7c3968ff7f690d00680419c9b8cb0f (patch) | |
tree | 47c1d492e9c956c1cd2b74dbd3b9d8b0db44dc4e /patch-ids.h | |
parent | Initial commit. (diff) | |
download | git-4dbdc42d9e7c3968ff7f690d00680419c9b8cb0f.tar.xz git-4dbdc42d9e7c3968ff7f690d00680419c9b8cb0f.zip |
Adding upstream version 1:2.43.0.upstream/1%2.43.0
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to '')
-rw-r--r-- | patch-ids.h | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/patch-ids.h b/patch-ids.h new file mode 100644 index 0000000..490d739 --- /dev/null +++ b/patch-ids.h @@ -0,0 +1,47 @@ +#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 init_patch_ids(struct repository *, struct patch_ids *); +int free_patch_ids(struct patch_ids *); + +/* Add a patch_id for a single commit to the set. */ +struct patch_id *add_commit_patch_id(struct commit *, struct patch_ids *); + +/* Returns true if the patch-id of "commit" is present in the set. */ +int has_commit_patch_id(struct commit *commit, struct patch_ids *); + +/* + * Iterate over all commits in the set whose patch id matches that of + * "commit", like: + * + * struct patch_id *cur; + * for (cur = patch_id_iter_first(commit, ids); + * cur; + * cur = patch_id_iter_next(cur, ids) { + * ... look at cur->commit + * } + */ +struct patch_id *patch_id_iter_first(struct commit *commit, struct patch_ids *); +struct patch_id *patch_id_iter_next(struct patch_id *cur, struct patch_ids *); + +#endif /* PATCH_IDS_H */ |