git tries to stat //HEAD when searching for a repo, leading to huge delays on Cygwin
- Date: Thu, 2 Nov 2017 23:45:55 +0000
- From: Andrew Baumann <Andrew.Baumann@xxxxxxxxxxxxx>
- Subject: git tries to stat //HEAD when searching for a repo, leading to huge delays on Cygwin
I have a workaround for this, but someone on stack overflow  suggested reporting it upstream, so here you go:
I have a fancy shell prompt that executes "git rev-parse --is-inside-work-tree" to determine whether we're currently inside a working directory. This causes git to walk up the directory hierarchy looking for a containing git repo. For example, when invoked from my home directory, it stats the following paths, in order:
The last name (//HEAD) interacts badly with Cygwin, which interprets it as a UNC file share, and so demand-loads a bunch of extra DLLs and attempts to resolve/contact the server named HEAD. This obviously doesn't work too well, especially over a slow network link.
I've tested with the latest Cygwin git (2.15.0); this was also present in a prior version.