threads / discuss / 34417

Cygwin, git and x: directory

Subject: Cygwin, git and x: directory

## tl;dr

2 messages between Jul 12, 2013 and Jul 12, 2013.

replies: 1people: 2as markdown or json

Mikko Rapeli· Jul 12, 2013, 12:42 UTC · lore
(please Cc: me in replies, not subscribed to the lists)
Hi Cygwin and git developers,
Does following scenario show signs of bugs in Cygwin and/or git?

# setup git repo $ cd /tmp $ mkdir foo && cd foo $ git init

# create x: directory $ mkdir x: $ ls x:

# create Windows X: drive, cygwin utils can work with both unix and dos style # path names $ mkdir c:/temp/bar $ subst x: c:/temp/bar $ touch x:/file.txt $ ls x:/ file.txt

# clean git tree from non-tracked files $ git clean -d -x -f Removing x:/

# observe results, git did rm -rf on the X drive instead of the local # directory named x: $ ls x: $ file x\: x:: directory $ ls x:/ ls: cannot access x:/: No such file or directory $ ls c:/temp/bar ls: cannot access c:/temp/bar: No such file or directory $ subst X:\: => C:\temp\bar

In real life CMake created C: file in a build tree -- which is also a bug but a separate one -- which resulted in obviously catastrophic results.

-Mikko
Mark Levedahl· Jul 12, 2013, 15:27 UTC · re: Mikko Rapeli · lore

Re: Cygwin, git and x: directory

On 07/12/2013 08:42 AM, Mikko Rapeli wrote:
Show 15 quoted lines
> (please Cc: me in replies, not subscribed to the lists)
>
> Hi Cygwin and git developers,
>
> Does following scenario show signs of bugs in Cygwin and/or git?
>
> # setup git repo
> $ cd /tmp
> $ mkdir foo && cd foo
> $ git init
>
> # create x: directory
> $ mkdir x:
> $ ls
> x:

I would report this on the Cygwin list, not here. Any use of dos file paths using a Cygwin tool is not recommended, officially only POSIX paths are supported. If cygwin's Cmake is generating dos style paths, that is a bug that needs reporting to the Cygwin list. Also, I'm not sure how the developers will react to mishandling a directory named x:, but the behaviour you see is a limitation of the Cygwin platform, not of git.

Mark

← back to recent threads