47 lines
1.2 KiB
47 lines
1.2 KiB
#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 *); |
|
|
|
/* 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 */
|
|
|