for_each_*_object: store flag definitions in a single location
These flags were split between cache.h and packfile.h, because some of the flags apply only to packs. However, they share a single numeric namespace, since both are respected for the packed variant. Let's make sure they're defined together so that nobody accidentally adds a new flag in one location that duplicates the other. While we're here, let's also put them in an enum (which helps debugger visibility) and use "(1<<n)" rather than counting powers of 2 manually. Signed-off-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
parent
1d89318c48
commit
202e7f1e16
13
cache.h
13
cache.h
@ -1623,12 +1623,23 @@ int for_each_loose_file_in_objdir_buf(struct strbuf *path,
|
||||
each_loose_subdir_fn subdir_cb,
|
||||
void *data);
|
||||
|
||||
/*
|
||||
* Flags for for_each_*_object(), including for_each_loose below and
|
||||
* for_each_packed in packfile.h.
|
||||
*/
|
||||
enum for_each_object_flags {
|
||||
/* Iterate only over local objects, not alternates. */
|
||||
FOR_EACH_OBJECT_LOCAL_ONLY = (1<<0),
|
||||
|
||||
/* Only iterate over packs obtained from the promisor remote. */
|
||||
FOR_EACH_OBJECT_PROMISOR_ONLY = (1<<1),
|
||||
};
|
||||
|
||||
/*
|
||||
* Iterate over loose objects in both the local
|
||||
* repository and any alternates repositories (unless the
|
||||
* LOCAL_ONLY flag is set).
|
||||
*/
|
||||
#define FOR_EACH_OBJECT_LOCAL_ONLY 0x1
|
||||
extern int for_each_loose_object(each_loose_object_fn, void *, unsigned flags);
|
||||
|
||||
/*
|
||||
|
@ -148,15 +148,11 @@ extern int has_object_pack(const struct object_id *oid);
|
||||
|
||||
extern int has_pack_index(const unsigned char *sha1);
|
||||
|
||||
/*
|
||||
* Only iterate over packs obtained from the promisor remote.
|
||||
*/
|
||||
#define FOR_EACH_OBJECT_PROMISOR_ONLY 2
|
||||
|
||||
/*
|
||||
* Iterate over packed objects in both the local
|
||||
* repository and any alternates repositories (unless the
|
||||
* FOR_EACH_OBJECT_LOCAL_ONLY flag, defined in cache.h, is set).
|
||||
* FOR_EACH_OBJECT_LOCAL_ONLY flag is set). See cache.h for the complete list
|
||||
* of flags.
|
||||
*/
|
||||
typedef int each_packed_object_fn(const struct object_id *oid,
|
||||
struct packed_git *pack,
|
||||
|
Loading…
Reference in New Issue
Block a user