Moving commit counting from rev-list into list-object which is a step
toward letting git log do counting as well.
Signed-off-by: Lawrence Siebert
---
builtin/rev-list.c | 12 ++--
list-objects.c | 14 ++
list-objects.h | 1 +
3 files changed, 17 insertions(+), 10 deletions(-)
diff --git a/builtin/rev-list.c b/builtin/rev-list.c
index ff84a82..07f522b 100644
--- a/builtin/rev-list.c
+++ b/builtin/rev-list.c
@@ -388,16 +388,8 @@ int cmd_rev_list(int argc, const char **argv, const char
*prefix)
traverse_commit_list(&revs, show_commit, show_object, &info);
- if (revs.count) {
- if (revs.left_right && revs.cherry_mark)
- printf("%d\t%d\t%d\n", revs.count_left,
revs.count_right, revs.count_same);
- else if (revs.left_right)
- printf("%d\t%d\n", revs.count_left, revs.count_right);
- else if (revs.cherry_mark)
- printf("%d\t%d\n", revs.count_left + revs.count_right,
revs.count_same);
- else
- printf("%d\n", revs.count_left + revs.count_right);
- }
+ if (revs.count)
+ get_commit_count(&revs);
return 0;
}
diff --git a/list-objects.c b/list-objects.c
index 41736d2..6f76301 100644
--- a/list-objects.c
+++ b/list-objects.c
@@ -234,3 +234,17 @@ void traverse_commit_list(struct rev_info *revs,
object_array_clear(&revs->pending);
strbuf_release(&base);
}
+
+void get_commit_count(struct rev_info * revs) {
+ if (revs->count) {
+ if (revs->left_right && revs->cherry_mark)
+ printf("%d\t%d\t%d\n", revs->count_left,
revs->count_right, revs->count_same);
+ else if (revs->left_right)
+ printf("%d\t%d\n", revs->count_left, revs->count_right);
+ else if (revs->cherry_mark)
+ printf("%d\t%d\n", revs->count_left +
revs->count_right, revs->count_same);
+ else
+ printf("%d\n", revs->count_left + revs->count_right);
+ }
+ return;
+}
diff --git a/list-objects.h b/list-objects.h
index 136a1da..d28c1f3 100644
--- a/list-objects.h
+++ b/list-objects.h
@@ -7,5 +7,6 @@ void traverse_commit_list(struct rev_info *, show_commit_fn,
show_object_fn, voi
typedef void (*show_edge_fn)(struct commit *);
void mark_edges_uninteresting(struct rev_info *, show_edge_fn);
+void get_commit_count(struct rev_info * revs);
#endif
--
1.9.1
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majord...@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html