From: Junio C Hamano Date: Mon, 27 Aug 2012 22:21:37 +0000 (-0700) Subject: http-push: use in_merge_bases() for fast-forward check X-Git-Tag: v1.8.0-rc0~78^2~6 X-Git-Url: http://git.tremily.us/?a=commitdiff_plain;h=6571225137b1ba270b49a0dfc6a30aab6f4b86ba;p=git.git http-push: use in_merge_bases() for fast-forward check The original computed merge-base between HEAD and the remote ref and checked if the remote ref is a merge base between them, in order to make sure that we are fast-forwarding. Instead, call in_merge_bases(remote, HEAD) which does the same. Signed-off-by: Junio C Hamano --- diff --git a/http-push.c b/http-push.c index f22f7e43c..555c056d6 100644 --- a/http-push.c +++ b/http-push.c @@ -1610,9 +1610,8 @@ static int verify_merge_base(unsigned char *head_sha1, struct ref *remote) { struct commit *head = lookup_commit_or_die(head_sha1, "HEAD"); struct commit *branch = lookup_commit_or_die(remote->old_sha1, remote->name); - struct commit_list *merge_bases = get_merge_bases(head, branch, 1); - return (merge_bases && !merge_bases->next && merge_bases->item == branch); + return in_merge_bases(branch, head); } static int delete_remote_branch(const char *pattern, int force)