Git issue.

Adam Dinwoodie
Fri Dec 4 17:04:00 GMT 2015

On Fri, Dec 04, 2015 at 12:07:19AM +0000, Matt Smith wrote:
> > On Sun, Nov 22, 2015 at 11:30:27PM +0000, boulderfans wrote: 
> > > [/cygdrive/d/projects] 
> > > $ git --git-dir=d:/projects/git-git/.git config ls-files 
> > > error: Unable to open tempfile: /cygdrive/d/projects/d:/projects/git-git/.git/config.lock 
> > > error: could not lock config file d:/projects/git-git/.git/config: No such file or directory 
> > > 
> > > The problem is that the code that is checking the --git-dir option 
> > > doesn't work properly if you use a DOS drive:/path specification. 
> > 
> > Cygwin applications, including applications you've compiled yourself 
> > using the Cygwin toolchain, normally expect Cygwin's Linux-like paths, 
> > e.g. /cygdrive/d/projects/git-git. Attempting to use Windows paths 
> > simply isn't meant to work. 
> > 
> > You can convert from a Windows path to the equivalent Cygwin path using 
> > the cygpath utility, e.g.: 
> > 
> > git --git-dir="$(cygpath 'd:/projects/git-git/.git')" config ls-files 
> Ok.  I wasn't sure as the behavior changed.  It worked in 1.9.5 and
> then stopped working when I moved to 2.5.x.  I'm not sure if it
> matters to you, but doing some bisecting it looks like the behavior
> changed between 2.2.0 and 2.3.0:

Please don't top post on this list, and please don't quote raw email
addresses.  See for a brief note on
the whys.

Out of curiosity, I wrote a short bisect script to test this behaviour;
the behaviour changed in v2.2.0-rc0-1-gfa137f6, which changed handling
of lock files; it looks like it broke your scenario as a side-effect.

However, as I say, this isn't something that was ever supposed to work;
that it did in the past was coincidence rather than design, so I don't
think you'll have any luck getting the old behaviour back.  Using
cygpath to convert between Windows and Cygwin paths, and otherwise
sticking to Linux/Cygwin-style paths for Cygwin applications and
Windows paths for Windows ones, is the correct way to go about this.

Problem reports:
Unsubscribe info:

More information about the Cygwin mailing list