Git issue.
Adam Dinwoodie
adam@dinwoodie.org
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 alias.foo 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 alias.foo 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 https://cygwin.com/acronyms/#TOFU 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: http://cygwin.com/problems.html
FAQ: http://cygwin.com/faq/
Documentation: http://cygwin.com/docs.html
Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple
More information about the Cygwin
mailing list