]> git.ipfire.org Git - thirdparty/git.git/commit - setup.c
setup: avoid double slashes when looking for HEAD
authorJeff King <peff@peff.net>
Fri, 3 Nov 2017 12:58:02 +0000 (13:58 +0100)
committerJunio C Hamano <gitster@pobox.com>
Fri, 3 Nov 2017 14:02:25 +0000 (23:02 +0900)
commitfa4d8c783d780191d98fe1f68ad2dea2fe78d19c
treecb763d9b256516973511c149fffeb468502c62cf
parent5c4003ca3f0e9ac6d3c8aa3e387ff843bd440411
setup: avoid double slashes when looking for HEAD

Andrew Baumann reported that when called outside of any Git worktree,
`git rev-parse --is-inside-work-tree` eventually tries to access
`//HEAD`, i.e.  any `HEAD` file in the root directory, but with a double
slash.

This double slash is not only unintentional, but is allowed by the POSIX
standard to have a special meaning. And most notably on Windows, it
does, where it refers to a UNC path of the form `//server/share/`.

As a consequence, afore-mentioned `rev-parse` call not only looks for
the wrong thing, but it also causes serious delays, as Windows will try
to access a server called `HEAD`.  Let's simply avoid the unintended
double slash.

Signed-off-by: Jeff King <peff@peff.net>
Acked-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
setup.c