OSDN Git Service

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 5cf74ed..9fa0706 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'"
 }