summaryrefslogtreecommitdiff
path: root/cache.h
diff options
context:
space:
mode:
authorJunio C Hamano <gitster@pobox.com>2015-02-22 20:28:28 (GMT)
committerJunio C Hamano <gitster@pobox.com>2015-02-22 20:28:28 (GMT)
commit7cf6232e2c15a0052c78655d7014645cd20a377c (patch)
tree01c4cf8a97024da88fae20236cfe2f6cf374dbea /cache.h
parentdcc883dcbc25276784bb98dce5927d76d2ed5c6c (diff)
parentb0a4264277b7968741580093e7ea1e366943d297 (diff)
downloadgit-7cf6232e2c15a0052c78655d7014645cd20a377c.zip
git-7cf6232e2c15a0052c78655d7014645cd20a377c.tar.gz
git-7cf6232e2c15a0052c78655d7014645cd20a377c.tar.bz2
Merge branch 'jk/prune-mtime'
In v2.2.0, we broke "git prune" that runs in a repository that borrows from an alternate object store. * jk/prune-mtime: sha1_file: fix iterating loose alternate objects for_each_loose_file_in_objdir: take an optional strbuf path
Diffstat (limited to 'cache.h')
-rw-r--r--cache.h9
1 files changed, 9 insertions, 0 deletions
diff --git a/cache.h b/cache.h
index 04951dd..4d02efc 100644
--- a/cache.h
+++ b/cache.h
@@ -1254,6 +1254,10 @@ extern int unpack_object_header(struct packed_git *, struct pack_window **, off_
*
* Any callback that is NULL will be ignored. Callbacks returning non-zero
* will end the iteration.
+ *
+ * In the "buf" variant, "path" is a strbuf which will also be used as a
+ * scratch buffer, but restored to its original contents before
+ * the function returns.
*/
typedef int each_loose_object_fn(const unsigned char *sha1,
const char *path,
@@ -1269,6 +1273,11 @@ int for_each_loose_file_in_objdir(const char *path,
each_loose_cruft_fn cruft_cb,
each_loose_subdir_fn subdir_cb,
void *data);
+int for_each_loose_file_in_objdir_buf(struct strbuf *path,
+ each_loose_object_fn obj_cb,
+ each_loose_cruft_fn cruft_cb,
+ each_loose_subdir_fn subdir_cb,
+ void *data);
/*
* Iterate over loose and packed objects in both the local