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>maint
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,
|
each_loose_subdir_fn subdir_cb,
|
||||||
void *data);
|
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
|
* Iterate over loose objects in both the local
|
||||||
* repository and any alternates repositories (unless the
|
* repository and any alternates repositories (unless the
|
||||||
* LOCAL_ONLY flag is set).
|
* 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);
|
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);
|
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
|
* Iterate over packed objects in both the local
|
||||||
* repository and any alternates repositories (unless the
|
* 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,
|
typedef int each_packed_object_fn(const struct object_id *oid,
|
||||||
struct packed_git *pack,
|
struct packed_git *pack,
|
||||||
|
|
Loading…
Reference in New Issue