packed-backend: new module for handling packed references

Now that the interface between `files_ref_store` and
`packed_ref_store` is relatively narrow, move the latter into a new
module, "refs/packed-backend.h" and "refs/packed-backend.c". It still
doesn't quite implement the `ref_store` interface, but it will soon.

This commit moves code around and adjusts its visibility, but doesn't
change anything.

Signed-off-by: Michael Haggerty <mhagger@alum.mit.edu>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
Michael Haggerty
2017-06-23 09:01:37 +02:00
committed by Junio C Hamano
parent d13fa1a9ba
commit 67be7c5a59
6 changed files with 685 additions and 639 deletions

View File

@ -77,6 +77,15 @@
*/
int refname_is_safe(const char *refname);
/*
* Helper function: return true if refname, which has the specified
* oid and flags, can be resolved to an object in the database. If the
* referred-to object does not exist, emit a warning and return false.
*/
int ref_resolves_to_object(const char *refname,
const struct object_id *oid,
unsigned int flags);
enum peel_status {
/* object was peeled successfully: */
PEEL_PEELED = 0,