diff options
author | Junio C Hamano <junkio@cox.net> | 2006-12-26 23:47:40 -0800 |
---|---|---|
committer | Junio C Hamano <junkio@cox.net> | 2006-12-26 23:47:40 -0800 |
commit | e8b4029f990907e24fac0e7772ee19ee6dd55c1c (patch) | |
tree | b3b799be8af66f36bd4a09d0b5ed3d8f03136dab /commit.c | |
parent | 268b827d9883e77f395a63e4afa10ebbac10bfcf (diff) | |
parent | 7dc269230761e32e663d9cd0b6f4c316466a490d (diff) | |
download | git-e8b4029f990907e24fac0e7772ee19ee6dd55c1c.tar.gz |
Merge branch 'jc/fsck-reflog'
* jc/fsck-reflog:
Add git-reflog to .gitignore
reflog expire: do not punt on tags that point at non commits.
reflog expire: prune commits that are not incomplete
Don't crash during repack of a reflog with pruned commits.
git reflog expire
Move in_merge_bases() to commit.c
reflog: fix warning message.
Teach git-repack to preserve objects referred to by reflog entries.
Protect commits recorded in reflog from pruning.
add for_each_reflog_ent() iterator
Diffstat (limited to 'commit.c')
-rw-r--r-- | commit.c | 17 |
1 files changed, 17 insertions, 0 deletions
@@ -1009,3 +1009,20 @@ struct commit_list *get_merge_bases(struct commit *one, free(rslt); return result; } + +int in_merge_bases(struct commit *rev1, struct commit *rev2) +{ + struct commit_list *bases, *b; + int ret = 0; + + bases = get_merge_bases(rev1, rev2, 1); + for (b = bases; b; b = b->next) { + if (!hashcmp(rev1->object.sha1, b->item->object.sha1)) { + ret = 1; + break; + } + } + + free_commit_list(bases); + return ret; +} |