summaryrefslogtreecommitdiff
path: root/commit.c
diff options
context:
space:
mode:
authorRene Scharfe <rene.scharfe@lsrfire.ath.cx>2006-07-02 09:49:38 (GMT)
committerJunio C Hamano <junkio@cox.net>2006-07-02 17:58:25 (GMT)
commitc0fa8255c652e148f0910425d2cc2b8029065008 (patch)
treeb649c755844913b1637b914ef6398707b8907021 /commit.c
parent31aea7ef77aff64a02afe1ea5f10375565911808 (diff)
downloadgit-c0fa8255c652e148f0910425d2cc2b8029065008.zip
git-c0fa8255c652e148f0910425d2cc2b8029065008.tar.gz
git-c0fa8255c652e148f0910425d2cc2b8029065008.tar.bz2
Fold get_merge_bases_clean() into get_merge_bases()
Change get_merge_bases() to be able to clean up after itself if needed by adding a cleanup parameter. We don't need to save the flags and restore them afterwards anymore; that was a leftover from before the flags were moved out of the range used in revision.c. clear_commit_marks() sets them to zero, which is enough. Signed-off-by: Rene Scharfe <rene.scharfe@lsrfire.ath.cx> Acked-by: Johannes Schindelin <Johannes.Schindelin@gmx.de> Signed-off-by: Junio C Hamano <junkio@cox.net>
Diffstat (limited to 'commit.c')
-rw-r--r--commit.c21
1 files changed, 6 insertions, 15 deletions
diff --git a/commit.c b/commit.c
index 70a4eff..94c1d0e 100644
--- a/commit.c
+++ b/commit.c
@@ -1012,7 +1012,8 @@ static void mark_reachable_commits(struct commit_list *result,
}
}
-struct commit_list *get_merge_bases(struct commit *rev1, struct commit *rev2)
+struct commit_list *get_merge_bases(struct commit *rev1, struct commit *rev2,
+ int cleanup)
{
struct commit_list *list = NULL;
struct commit_list *result = NULL;
@@ -1080,20 +1081,10 @@ struct commit_list *get_merge_bases(struct commit *rev1, struct commit *rev2)
tmp = next;
}
- return result;
-}
-
-struct commit_list *get_merge_bases_clean(struct commit *rev1,
- struct commit *rev2)
-{
- unsigned int flags1 = rev1->object.flags;
- unsigned int flags2 = rev2->object.flags;
- struct commit_list *result = get_merge_bases(rev1, rev2);
-
- clear_commit_marks(rev1, PARENT1 | PARENT2 | UNINTERESTING);
- clear_commit_marks(rev2, PARENT1 | PARENT2 | UNINTERESTING);
- rev1->object.flags = flags1;
- rev2->object.flags = flags2;
+ if (cleanup) {
+ clear_commit_marks(rev1, PARENT1 | PARENT2 | UNINTERESTING);
+ clear_commit_marks(rev2, PARENT1 | PARENT2 | UNINTERESTING);
+ }
return result;
}