From 3dfed9cb86a54bc8266057ef62b99f5d889f4efc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Carlos=20Mart=C3=ADn=20Nieto?= Date: Wed, 31 Oct 2012 10:26:04 +0100 Subject: packbuilder: add git_packbuilder_foreach Let the user get each object as a buffer+size pair so they can handle the packfile content as they need to. --- src/pack-objects.c | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'src/pack-objects.c') diff --git a/src/pack-objects.c b/src/pack-objects.c index eb76e05a2..8861084e1 100644 --- a/src/pack-objects.c +++ b/src/pack-objects.c @@ -1237,6 +1237,12 @@ int git_packbuilder_send(git_packbuilder *pb, git_transport *t) return write_pack(pb, &send_pack_file, t); } +int git_packbuilder_foreach(git_packbuilder *pb, int (*cb)(void *buf, size_t size, void *payload), void *payload) +{ + PREPARE_PACK; + return write_pack(pb, cb, payload); +} + int git_packbuilder_write_buf(git_buf *buf, git_packbuilder *pb) { PREPARE_PACK; -- cgit v1.2.1 From b4b935d8abd52e00f08518f39b6c59aab73926ce Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Carlos=20Mart=C3=ADn=20Nieto?= Date: Wed, 31 Oct 2012 10:43:08 +0100 Subject: packbuilder: add accessors for the number of total and written objects --- src/pack-objects.c | 10 ++++++++++ 1 file changed, 10 insertions(+) (limited to 'src/pack-objects.c') diff --git a/src/pack-objects.c b/src/pack-objects.c index 8861084e1..7136d87eb 100644 --- a/src/pack-objects.c +++ b/src/pack-objects.c @@ -1292,6 +1292,16 @@ int git_packbuilder_insert_tree(git_packbuilder *pb, const git_oid *oid) return 0; } +uint32_t git_packbuilder_object_count(git_packbuilder *pb) +{ + return pb->nr_objects; +} + +uint32_t git_packbuilder_written(git_packbuilder *pb) +{ + return pb->nr_written; +} + void git_packbuilder_free(git_packbuilder *pb) { if (pb == NULL) -- cgit v1.2.1