summaryrefslogtreecommitdiff
path: root/replace_object.c
diff options
context:
space:
mode:
authorChristian Couder <chriscool@tuxfamily.org>2009-01-23 09:07:46 (GMT)
committerJunio C Hamano <gitster@pobox.com>2009-06-01 00:02:59 (GMT)
commitdae556bdb1e2ad6fb5eafe82e975bde01029fca9 (patch)
tree40c26f7e70c36888ae3197162d49280eb92c5a4f /replace_object.c
parentcc400f50112a58471b992a54b1a05d99a8a82457 (diff)
downloadgit-dae556bdb1e2ad6fb5eafe82e975bde01029fca9.zip
git-dae556bdb1e2ad6fb5eafe82e975bde01029fca9.tar.gz
git-dae556bdb1e2ad6fb5eafe82e975bde01029fca9.tar.bz2
environment: add global variable to disable replacement
This new "read_replace_refs" global variable is set to 1 by default, so that replace refs are used by default. But reachability traversal and packing commands ("cmd_fsck", "cmd_prune", "cmd_pack_objects", "upload_pack", "cmd_unpack_objects") set it to 0, as they must work with the original DAG. Signed-off-by: Christian Couder <chriscool@tuxfamily.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'replace_object.c')
-rw-r--r--replace_object.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/replace_object.c b/replace_object.c
index b23e1cd..eb59604 100644
--- a/replace_object.c
+++ b/replace_object.c
@@ -94,6 +94,9 @@ const unsigned char *lookup_replace_object(const unsigned char *sha1)
int pos, depth = MAXREPLACEDEPTH;
const unsigned char *cur = sha1;
+ if (!read_replace_refs)
+ return sha1;
+
prepare_replace_object();
/* Try to recursively replace the object */