perf: let's disable symlinks when they are not available
authorJohannes Schindelin <johannes.schindelin@gmx.de>
Fri, 13 May 2016 13:25:51 +0000 (15:25 +0200)
committerJunio C Hamano <gitster@pobox.com>
Fri, 13 May 2016 18:03:11 +0000 (11:03 -0700)
We already have a perfectly fine prereq to tell us whether it is safe to
use symlinks. So let's use it.

This fixes the performance tests in Git for Windows' SDK, where symlinks
are not really available ([*1*]). This is not an issue with Git for
Windows itself because it configures core.symlinks=false in its system
config. However, the system config is disabled for the performance
tests, for obvious reasons: we want them to be independent of the
vagaries of any local configuration.

Footnote *1*: Windows has symbolic links. Git for Windows disables them
by default, though (for example: in standard setups, non-admins lack the
privilege to create symbolic links). For details, see
https://github.com/git-for-windows/git/wiki/Symbolic-Links

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
t/perf/perf-lib.sh
index 5cf74eddec7552140c5bef14f23fc637a2ad9818..9fa07066d14a4328d654f58fc5bdae4bb31bd214 100644 (file)
@@ -96,7 +96,10 @@ test_perf_create_repo_from () {
                        esac
                done &&
                cd .. &&
-               git init -q &&
+               git init -q && {
+                       test_have_prereq SYMLINKS ||
+                       git config core.symlinks false
+               } &&
                mv .git/hooks .git/hooks-disabled 2>/dev/null
        ) || error "failed to copy repository '$source' to '$repo'"
 }