Merge branch 'cc/for-each-mergetag'

* cc/for-each-mergetag:
  commit: add for_each_mergetag()
This commit is contained in:
Junio C Hamano
2014-07-21 11:17:45 -07:00
3 changed files with 22 additions and 11 deletions

View File

@ -414,10 +414,11 @@ static int is_common_merge(const struct commit *commit)
&& !commit->parents->next->next);
}
static void show_one_mergetag(struct rev_info *opt,
static void show_one_mergetag(struct commit *commit,
struct commit_extra_header *extra,
struct commit *commit)
void *data)
{
struct rev_info *opt = (struct rev_info *)data;
unsigned char sha1[20];
struct tag *tag;
struct strbuf verify_message;
@ -465,15 +466,7 @@ static void show_one_mergetag(struct rev_info *opt,
static void show_mergetag(struct rev_info *opt, struct commit *commit)
{
struct commit_extra_header *extra, *to_free;
to_free = read_commit_extra_headers(commit, NULL);
for (extra = to_free; extra; extra = extra->next) {
if (strcmp(extra->key, "mergetag"))
continue; /* not a merge tag */
show_one_mergetag(opt, extra, commit);
}
free_commit_extra_headers(to_free);
for_each_mergetag(show_one_mergetag, commit, opt);
}
void show_log(struct rev_info *opt)