From 50fdfe2bcbabc0a9d77966d9d18d035b61e950d3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Carlos=20Mart=C3=ADn=20Nieto?= Date: Wed, 8 Apr 2015 23:51:49 +0200 Subject: [PATCH] revwalk: don't insert uninteresting commits into the queue When a commit is first set as unintersting and then pushed, we must take care that we do not put it into the commit list as that makes us return at least that commit (but maybe more) as we've inserted it into the list because we have the assumption that we want anything in the commit list. --- src/revwalk.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/revwalk.c b/src/revwalk.c index a6d823ec8..9d0fafddf 100644 --- a/src/revwalk.c +++ b/src/revwalk.c @@ -144,6 +144,10 @@ static int push_commit(git_revwalk *walk, const git_oid *oid, int uninteresting, if (commit == NULL) return -1; /* error already reported by failed lookup */ + /* A previous hide already told us we don't want this commit */ + if (commit->uninteresting) + return 0; + if (uninteresting) walk->did_hide = 1; else