diff options
Diffstat (limited to 'patch-ids.h')
| -rw-r--r-- | patch-ids.h | 29 |
1 files changed, 27 insertions, 2 deletions
diff --git a/patch-ids.h b/patch-ids.h index bec0f727a7..490d739371 100644 --- a/patch-ids.h +++ b/patch-ids.h @@ -1,6 +1,13 @@ #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; @@ -14,9 +21,27 @@ struct patch_ids { int commit_patch_id(struct commit *commit, struct diff_options *options, struct object_id *oid, int); -int init_patch_ids(struct patch_ids *); +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 *); -struct patch_id *has_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 */ |
