From: Pascal Obry Date: Tue, 09 Aug 2011 20:38:11 GMT Subject: Re: [PATCH 2/2] On Cygwin support both UNIX and DOS style path-names Message-ID: <4E419AB3.7090405@obry.net> In-Reply-To: <4E416D4A.40602@ramsay1.demon.co.uk> Le 09/08/2011 19:24, Ramsay Jones a écrit : > Pascal Obry wrote: >> In fact Cygwin supports both, so make Git agree with this. >> The failing case is when a file is committed in a sub-dir of the >> repository using a log message from a file specified with a DOS >> style path-name. To reproduce: >> >> $ cd src >> $ git commit -F c:\tmp\log.txt file.c >> fatal: could not read log file 'src/c:\tmp\log.txt': No such file \ >> or directory. > > Hmm, are you using bash or cmd.exe? Using bash I get the following: bash. > > $ cd src > $ git commut -F c:\tmp\log.txt file.c > fatal: could not read file 'src/c:tmplog.txt': No such file or directory > $ > > Which is what I would expect of (any) posix shell, viz: > > $ ls c:\ > > ^C > $ ls c:\\ > AUTOEXEC.BAT* NTDETECT.COM* WATCOM/ msysgit/ > CMPNENTS/ Program Files/ WINDOWS/ msysgit-old/ > CONFIG.SYS* RECYCLER/ boot.ini* ntldr* > Documents and Settings/ SUPPORT/ cygwin/ pagefile.sys > I386/ SWSTAMP.TXT* cygwintemp/ ssl/ > IO.SYS* System Volume Information/ dm/ uname/ > MSDOS.SYS* TOOLSCD/ dm840/ zlib/ > MSOCache/ VALUEADD/ hiberfil.sys Exactly, \\ this is what I have used and this is the bug. Cygwin supports ls c:\\ so should Cygwin/Git. My quoted example was missing the escape \. -- --|------------------------------------------------------ --| Pascal Obry Team-Ada Member --| 45, rue Gabriel Peri - 78114 Magny Les Hameaux FRANCE --|------------------------------------------------------ --| http://www.obry.net - http://v2p.fr.eu.org --| "The best way to travel is by means of imagination" --| --| gpg --keyserver keys.gnupg.net --recv-key F949BD3B