diff options
author | Junio C Hamano <gitster@pobox.com> | 2015-05-13 14:05:50 -0700 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2015-05-13 14:05:50 -0700 |
commit | ebb464f0cba9efcb5552fad02f452f09f68fc9b2 (patch) | |
tree | 0e92a74cf718ef8fd1e0ac54d2e4669088d4200b /cache.h | |
parent | a60abe10f2d54c668966f804bb400d21d08008a3 (diff) | |
parent | ee1c6c34ac64c1e10b17a50710ea7002b7e7241f (diff) | |
download | git-ebb464f0cba9efcb5552fad02f452f09f68fc9b2.tar.gz git-ebb464f0cba9efcb5552fad02f452f09f68fc9b2.tar.xz |
Merge branch 'jk/prune-mtime' into maint
Access to objects in repositories that borrow from another one on a
slow NFS server unnecessarily got more expensive due to recent code
becoming more cautious in a naive way not to lose objects to pruning.
* jk/prune-mtime:
sha1_file: only freshen packs once per run
sha1_file: freshen pack objects before loose
reachable: only mark local objects as recent
Diffstat (limited to 'cache.h')
-rw-r--r-- | cache.h | 9 |
1 files changed, 6 insertions, 3 deletions
@@ -1174,6 +1174,7 @@ extern struct packed_git { int pack_fd; unsigned pack_local:1, pack_keep:1, + freshened:1, do_not_close:1; unsigned char sha1[20]; /* something like ".git/objects/pack/xxxxx.pack" */ @@ -1289,14 +1290,16 @@ int for_each_loose_file_in_objdir_buf(struct strbuf *path, /* * Iterate over loose and packed objects in both the local - * repository and any alternates repositories. + * repository and any alternates repositories (unless the + * LOCAL_ONLY flag is set). */ +#define FOR_EACH_OBJECT_LOCAL_ONLY 0x1 typedef int each_packed_object_fn(const unsigned char *sha1, struct packed_git *pack, uint32_t pos, void *data); -extern int for_each_loose_object(each_loose_object_fn, void *); -extern int for_each_packed_object(each_packed_object_fn, void *); +extern int for_each_loose_object(each_loose_object_fn, void *, unsigned flags); +extern int for_each_packed_object(each_packed_object_fn, void *, unsigned flags); struct object_info { /* Request */ |