#include "common.h"
-#include "buffer.h"
+#include "str.h"
#include "hash.h"
#include "oidmap.h"
#include "netops.h"
typedef struct git_pobject {
git_oid id;
- git_otype type;
- git_off_t offset;
+ git_object_t type;
+ off64_t offset;
size_t size;
size_t delta_size;
size_t z_delta_size;
- int written:1,
- recursing:1,
- tagged:1,
- filled:1;
+ unsigned int written:1,
+ recursing:1,
+ tagged:1,
+ filled:1;
} git_pobject;
-typedef struct {
- git_oid id;
- unsigned int uninteresting:1,
- seen:1;
-} git_walk_object;
-
struct git_packbuilder {
git_repository *repo; /* associated repository */
git_odb *odb; /* associated object database */
git_oidmap *walk_objects;
git_pool object_pool;
+#ifndef GIT_DEPRECATE_HARD
git_oid pack_oid; /* hash of written pack */
+#endif
+ char *pack_name; /* name of written pack */
/* synchronization objects */
git_mutex cache_mutex;
bool done;
};
-int git_packbuilder_write_buf(git_buf *buf, git_packbuilder *pb);
+int git_packbuilder__write_buf(git_str *buf, git_packbuilder *pb);
+int git_packbuilder__prepare(git_packbuilder *pb);
+
-#endif /* INCLUDE_pack_objects_h__ */
+#endif