summaryrefslogtreecommitdiff
path: root/commit.h
diff options
context:
space:
mode:
authorJunio C Hamano <gitster@pobox.com>2014-10-30 19:20:44 (GMT)
committerJunio C Hamano <gitster@pobox.com>2014-10-30 19:51:10 (GMT)
commit2ce406ccb85c4546b6d19309a6101b37c7bd952e (patch)
treeed00f07eab627dc4217ac76e38a652201f99aac2 /commit.h
parentd76c9e95b435b660f8f1b3e01d3c2f934e2ec441 (diff)
downloadgit-2ce406ccb85c4546b6d19309a6101b37c7bd952e.zip
git-2ce406ccb85c4546b6d19309a6101b37c7bd952e.tar.gz
git-2ce406ccb85c4546b6d19309a6101b37c7bd952e.tar.bz2
get_merge_bases(): always clean-up object flags
The callers of get_merge_bases() can choose to leave object flags used during the merge-base traversal by passing cleanup=0 as a parameter, but in practice a very few callers can afford to do so (namely, "git merge-base"), as they need to compute merge base in preparation for other processing of their own and they need to see the object without contaminate flags. Change the function signature of get_merge_bases_many() and get_merge_bases() to drop the cleanup parameter, so that the majority of the callers do not have to say ", 1" at the end. Give a new get_merge_bases_many_dirty() API to support only a few callers that know they do not need to spend cycles cleaning up the object flags. Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'commit.h')
-rw-r--r--commit.h7
1 files changed, 5 insertions, 2 deletions
diff --git a/commit.h b/commit.h
index 2e1492a..7cd4503 100644
--- a/commit.h
+++ b/commit.h
@@ -223,10 +223,13 @@ struct commit_graft *read_graft_line(char *buf, int len);
int register_commit_graft(struct commit_graft *, int);
struct commit_graft *lookup_commit_graft(const unsigned char *sha1);
-extern struct commit_list *get_merge_bases(struct commit *rev1, struct commit *rev2, int cleanup);
-extern struct commit_list *get_merge_bases_many(struct commit *one, int n, struct commit **twos, int cleanup);
+extern struct commit_list *get_merge_bases(struct commit *rev1, struct commit *rev2);
+extern struct commit_list *get_merge_bases_many(struct commit *one, int n, struct commit **twos);
extern struct commit_list *get_octopus_merge_bases(struct commit_list *in);
+/* To be used only when object flags after this call no longer matter */
+extern struct commit_list *get_merge_bases_many_dirty(struct commit *one, int n, struct commit **twos);
+
/* largest positive number a signed 32-bit integer can contain */
#define INFINITE_DEPTH 0x7fffffff