summaryrefslogtreecommitdiff
path: root/cache.h
diff options
context:
space:
mode:
authorJunio C Hamano <gitster@pobox.com>2015-06-24 19:21:54 (GMT)
committerJunio C Hamano <gitster@pobox.com>2015-06-24 19:21:54 (GMT)
commit712b351bd37d4e4676d1165993cad4cc2176b346 (patch)
treea81d157a57664f19b32d5fe9e704c3585af78b0b /cache.h
parentc595cb9c4f7c5fb2b09c5f3d3c07cf4488dc7ef9 (diff)
parent0eeb077be7d526635995e17808927c94c70be665 (diff)
downloadgit-712b351bd37d4e4676d1165993cad4cc2176b346.zip
git-712b351bd37d4e4676d1165993cad4cc2176b346.tar.gz
git-712b351bd37d4e4676d1165993cad4cc2176b346.tar.bz2
Merge branch 'jk/index-pack-reduce-recheck'
Disable "have we lost a race with competing repack?" check while receiving a huge object transfer that runs index-pack. * jk/index-pack-reduce-recheck: index-pack: avoid excessive re-reading of pack directory
Diffstat (limited to 'cache.h')
-rw-r--r--cache.h11
1 files changed, 10 insertions, 1 deletions
diff --git a/cache.h b/cache.h
index fe840e3..4f55466 100644
--- a/cache.h
+++ b/cache.h
@@ -943,8 +943,17 @@ extern int has_sha1_pack(const unsigned char *sha1);
* Return true iff we have an object named sha1, whether local or in
* an alternate object database, and whether packed or loose. This
* function does not respect replace references.
+ *
+ * If the QUICK flag is set, do not re-check the pack directory
+ * when we cannot find the object (this means we may give a false
+ * negative answer if another process is simultaneously repacking).
*/
-extern int has_sha1_file(const unsigned char *sha1);
+#define HAS_SHA1_QUICK 0x1
+extern int has_sha1_file_with_flags(const unsigned char *sha1, int flags);
+static inline int has_sha1_file(const unsigned char *sha1)
+{
+ return has_sha1_file_with_flags(sha1, 0);
+}
/*
* Return true iff an alternate object database has a loose object