aboutsummaryrefslogtreecommitdiff
path: root/refs/packed-backend.h
diff options
context:
space:
mode:
authorMichael Haggerty <mhagger@alum.mit.edu>2017-06-23 09:01:38 +0200
committerJunio C Hamano <gitster@pobox.com>2017-06-23 13:27:33 -0700
commite0cc8ac8202f7d6a721cc87fd5346a6c7f453302 (patch)
tree7b0d242359c2b3e2efef73229eda569f7ade5a8c /refs/packed-backend.h
parent67be7c5a593da8905added96723448d28b4a1812 (diff)
downloadgit-e0cc8ac8202f7d6a721cc87fd5346a6c7f453302.tar.gz
git-e0cc8ac8202f7d6a721cc87fd5346a6c7f453302.tar.xz
packed_ref_store: make class into a subclass of `ref_store`
Add the infrastructure to make `packed_ref_store` implement `ref_store`, at least formally (few of the methods are actually implemented yet). Change the functions in its interface to take `ref_store *` arguments. Change `files_ref_store` to store a pointer to `ref_store *` and to call functions via the virtual `ref_store` interface where possible. This also means that a few `packed_ref_store` functions can become static. This is a work in progress. Some more `ref_store` methods will soon be implemented (e.g., those having to do with reference transactions). But some of them will never be implemented (e.g., those having to do with symrefs or reflogs). Signed-off-by: Michael Haggerty <mhagger@alum.mit.edu> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'refs/packed-backend.h')
-rw-r--r--refs/packed-backend.h23
1 files changed, 6 insertions, 17 deletions
diff --git a/refs/packed-backend.h b/refs/packed-backend.h
index 22e8817ac..beea9c14b 100644
--- a/refs/packed-backend.h
+++ b/refs/packed-backend.h
@@ -1,33 +1,22 @@
#ifndef REFS_PACKED_BACKEND_H
#define REFS_PACKED_BACKEND_H
-struct packed_ref_store *packed_ref_store_create(
- const char *path, unsigned int store_flags);
-
-int packed_read_raw_ref(struct packed_ref_store *refs,
- const char *refname, unsigned char *sha1,
- struct strbuf *referent, unsigned int *type);
-
-int packed_peel_ref(struct packed_ref_store *refs,
- const char *refname, unsigned char *sha1);
-
-struct ref_iterator *packed_ref_iterator_begin(
- struct packed_ref_store *refs,
- const char *prefix, unsigned int flags);
+struct ref_store *packed_ref_store_create(const char *path,
+ unsigned int store_flags);
/*
* Lock the packed-refs file for writing. Flags is passed to
* hold_lock_file_for_update(). Return 0 on success. On errors, set
* errno appropriately and return a nonzero value.
*/
-int lock_packed_refs(struct packed_ref_store *refs, int flags);
+int lock_packed_refs(struct ref_store *ref_store, int flags);
-void add_packed_ref(struct packed_ref_store *refs,
+void add_packed_ref(struct ref_store *ref_store,
const char *refname, const struct object_id *oid);
-int commit_packed_refs(struct packed_ref_store *refs);
+int commit_packed_refs(struct ref_store *ref_store);
-int repack_without_refs(struct packed_ref_store *refs,
+int repack_without_refs(struct ref_store *ref_store,
struct string_list *refnames, struct strbuf *err);
#endif /* REFS_PACKED_BACKEND_H */