path: root/pack-refs.h
diff options
authorJohan Herland <>2008-06-15 14:05:06 (GMT)
committerJunio C Hamano <>2008-06-19 22:53:13 (GMT)
commit94e724a741590e741a540075c07a961082e3c80a (patch)
treecd02ced7df3b20ad31c70d7e3d8dca3cd39ec6bd /pack-refs.h
parent48ec3e5c073e97c15842ac16523444786b37774e (diff)
Move pack_refs() and friends into libgit
This moves pack_refs() and underlying functionality into the library, to make pack-refs functionality easily available to all git programs. Most of builtin-pack-refs.c has been moved verbatim into a new file pack-refs.c that is compiled into libgit.a. A corresponding header file, pack-refs.h, has also been added, declaring pack_refs() and the #defines associated with the flags parameter to pack_refs(). This patch introduces no other changes in functionality. Signed-off-by: Johan Herland <> Signed-off-by: Junio C Hamano <>
Diffstat (limited to 'pack-refs.h')
1 files changed, 18 insertions, 0 deletions
diff --git a/pack-refs.h b/pack-refs.h
new file mode 100644
index 0000000..518acfb
--- /dev/null
+++ b/pack-refs.h
@@ -0,0 +1,18 @@
+#ifndef PACK_REFS_H
+#define PACK_REFS_H
+ * Flags for controlling behaviour of pack_refs()
+ * PACK_REFS_PRUNE: Prune loose refs after packing
+ * PACK_REFS_ALL: Pack _all_ refs, not just tags and already packed refs
+ */
+#define PACK_REFS_PRUNE 0x0001
+#define PACK_REFS_ALL 0x0002
+ * Write a packed-refs file for the current repository.
+ * flags: Combination of the above PACK_REFS_* flags.
+ */
+int pack_refs(unsigned int flags);
+#endif /* PACK_REFS_H */