threads / discuss / 32111

Git does not understand absolute Win'dos' path

Subject: Git does not understand absolute Win'dos' path

## tl;dr

3 messages between Nov 14, 2012 and Nov 15, 2012.

replies: 2people: 3as markdown or json

Martin Lichtin· Nov 14, 2012, 09:12 UTC · lore
Hi
Maven's release plugin prepares a call Git like in this example:
cmd.exe /X /C "git commit --verbose -F C:\cygwin\tmp\maven-scm-915771020.commit pom.xml"
Git doesn't seem to understand the -F argument and treats it like a relative path (relative to the repository root):

$ cmd.exe /X /C "git commit --verbose -F C:\cygwin\tmp\commit pom.xml" fatal: could not read log file 'mytestdir/C:\cygwin\tmp\commit': No such file or directory

Johannes Sixt· Nov 14, 2012, 09:45 UTC · re: Martin Lichtin · lore

Re: Git does not understand absolute Win'dos' path

Am 11/14/2012 10:12, schrieb Martin Lichtin:
Show 11 quoted lines
> Maven's release plugin prepares a call Git like in this example:
> 
> cmd.exe /X /C "git commit --verbose -F
> C:\cygwin\tmp\maven-scm-915771020.commit pom.xml"
> 
> Git doesn't seem to understand the -F argument and treats it like a
> relative path (relative to the repository root):
> 
> $ cmd.exe /X /C "git commit --verbose -F C:\cygwin\tmp\commit pom.xml" 
> fatal: could not read log file 'mytestdir/C:\cygwin\tmp\commit': No
> such file or directory

According to the code, this should not happen if you are using msysgit. For this reason, I guess you are using Cygwin git. Right?

I don't know what Cygwin programs are supposed to do if they receive an argument that looks like a Windows style absolute path.

OTOH, it could be argued that Maven should not treat a Cygwin program like a DOS program, and it should pass the path in the POSIXy form /c/cygwin/tmp/commit or /tmp/commit.

-- Hannes
Ramsay Jones· Nov 15, 2012, 19:20 UTC · re: Johannes Sixt · lore

Re: Git does not understand absolute Win'dos' path

Johannes Sixt wrote:
Show 22 quoted lines
> Am 11/14/2012 10:12, schrieb Martin Lichtin:
>> Maven's release plugin prepares a call Git like in this example:
>>
>> cmd.exe /X /C "git commit --verbose -F
>> C:\cygwin\tmp\maven-scm-915771020.commit pom.xml"
>>
>> Git doesn't seem to understand the -F argument and treats it like a
>> relative path (relative to the repository root):
>>
>> $ cmd.exe /X /C "git commit --verbose -F C:\cygwin\tmp\commit pom.xml" 
>> fatal: could not read log file 'mytestdir/C:\cygwin\tmp\commit': No
>> such file or directory
> 
> According to the code, this should not happen if you are using msysgit.
> For this reason, I guess you are using Cygwin git. Right?
> 
> I don't know what Cygwin programs are supposed to do if they receive an
> argument that looks like a Windows style absolute path.
> 
> OTOH, it could be argued that Maven should not treat a Cygwin program like
> a DOS program, and it should pass the path in the POSIXy form
> /c/cygwin/tmp/commit or /tmp/commit.
I would argue precisely this! :-D

ATB, Ramsay Jones

← back to recent threads