Set GIT_NO_REPLACE_OBJECTS=1 everywhere
commitf616fd67ff05c02d87087679bc303d6099282430
authorKyle J. McKay <mackyle@gmail.com>
Fri, 6 Mar 2015 07:26:51 +0000 (5 23:26 -0800)
committerKyle J. McKay <mackyle@gmail.com>
Fri, 6 Mar 2015 07:26:51 +0000 (5 23:26 -0800)
treeb6ff5eb4e0516d8c8c8a04adfcee971f4f8cd876
parent76c9b091f02602b9da654c4bad8a3126c3abe79f
Set GIT_NO_REPLACE_OBJECTS=1 everywhere

Since Git v1.6.5 a refs/replace/* facility has been available to
"replace" a particular SHA-1 with a different SHA-1.

Unfortunately, when this facility is enabled (by default it's always
enabled), the refs/replace/* namespace must be checked when reading
each reference.  This forces packed-refs to be read and parsed on
just about every Git command.

If there are just a few references the difference is not likely to
be noticeable.  However, with thousands of refs, it can make a
significant difference to commands that would otherwise not need
to read and parse packed-refs.

Since Girocco never uses replacement references, disable them by
setting GIT_NO_REPLACE_OBJECTS=1 and exporting it.  This is first
supported in Git v1.6.6 which we now require so they should always
now be disabled and thereby provide a small performance boost.
Girocco/Config.pm
bin/git-shell-verify
shlib.sh