summaryrefslogtreecommitdiff
path: root/cache.h
diff options
context:
space:
mode:
authorJeff King <peff@peff.net>2015-03-20 18:43:06 (GMT)
committerJunio C Hamano <gitster@pobox.com>2015-03-20 19:40:49 (GMT)
commit49672f26d9a3826a6a74c6ff4d2409b7b0c74495 (patch)
tree455516c784f1797d24873010410b4a5a225788c9 /cache.h
parent8b43fb18f808524297a050e33f33db8569bc1116 (diff)
downloadgit-49672f26d9a3826a6a74c6ff4d2409b7b0c74495.zip
git-49672f26d9a3826a6a74c6ff4d2409b7b0c74495.tar.gz
git-49672f26d9a3826a6a74c6ff4d2409b7b0c74495.tar.bz2
refs: introduce a "ref paranoia" flag
Most operations that iterate over refs are happy to ignore broken cruft. However, some operations should be performed with knowledge of these broken refs, because it is better for the operation to choke on a missing object than it is to silently pretend that the ref did not exist (e.g., if we are computing the set of reachable tips in order to prune objects). These processes could just call for_each_rawref, except that ref iteration is often hidden behind other interfaces. For instance, for a destructive "repack -ad", we would have to inform "pack-objects" that we are destructive, and then it would in turn have to tell the revision code that our "--all" should include broken refs. It's much simpler to just set a global for "dangerous" operations that includes broken refs in all iterations. Signed-off-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'cache.h')
-rw-r--r--cache.h8
1 files changed, 8 insertions, 0 deletions
diff --git a/cache.h b/cache.h
index 4d02efc..2380639 100644
--- a/cache.h
+++ b/cache.h
@@ -614,6 +614,14 @@ extern int protect_hfs;
extern int protect_ntfs;
/*
+ * Include broken refs in all ref iterations, which will
+ * generally choke dangerous operations rather than letting
+ * them silently proceed without taking the broken ref into
+ * account.
+ */
+extern int ref_paranoia;
+
+/*
* The character that begins a commented line in user-editable file
* that is subject to stripspace.
*/