On Fri, Aug 10, 2018 at 4:09 PM Jeff King <peff@xxxxxxxx> wrote: > > 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. All good, but ... > cache.h | 13 ++++++++++++- > packfile.h | 8 ++------ > 2 files changed, 14 insertions(+), 7 deletions(-) rubs me the wrong way. ;-) cache.h is such a misnomer of a name, and a kitchen sink of a file in the Git project that in an ideal world it would be way smaller and contain only things related to some caching related code. I would suggest object.h or object-store.h instead. Probably the object-store as that will be the only external exposure and hopefully we'd get the objects in a similar shape as the refs subsystem eventually? I might be biased by commits such as 4f39cd821d1 (pack: move pack name-related functions, 2017-08-18)