diff options
| author | Junio C Hamano <gitster@pobox.com> | 2021-01-25 14:19:19 -0800 |
|---|---|---|
| committer | Junio C Hamano <gitster@pobox.com> | 2021-01-25 14:19:19 -0800 |
| commit | b69bed22c59fa08848bd7ffa5fbfacc0b62fcd48 (patch) | |
| tree | 047ebb72feb3534f7929ae8a52cb9e43a0f23d81 /patch-ids.h | |
| parent | 27d7c8599b159862762e2bd121c22d516fb04e90 (diff) | |
| parent | c9e3a4e76d57b03170118aa67054af0b81e7f507 (diff) | |
| download | git-b69bed22c59fa08848bd7ffa5fbfacc0b62fcd48.tar.gz | |
Merge branch 'jk/log-cherry-pick-duplicate-patches'
When more than one commit with the same patch ID appears on one
side, "git log --cherry-pick A...B" did not exclude them all when a
commit with the same patch ID appears on the other side. Now it
does.
* jk/log-cherry-pick-duplicate-patches:
patch-ids: handle duplicate hashmap entries
Diffstat (limited to 'patch-ids.h')
| -rw-r--r-- | patch-ids.h | 20 |
1 files changed, 19 insertions, 1 deletions
diff --git a/patch-ids.h b/patch-ids.h index 03bb04e707..ab6c6a6804 100644 --- a/patch-ids.h +++ b/patch-ids.h @@ -23,7 +23,25 @@ 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 *); -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 */ |
