Silent failure to add Windows-style paths in Cygwin Git
- From
Adam Dinwoodie <adam@dinwoodie.org>
- Date
- Apr 25, 2016, 12:07 UTC
- Message-ID
- <20160425120705.GN2345@dinwoodie.org>
[Resending as my initial attempt appears to have not made it to the list. Apologies if this results in a double-post.]
If I attempt to `git add` an extant file specified using a Windows-style path on Cygwin Git, this doesn't add the file, and produces no error message:
$ pwd # As seen by Cygwin
/cygdrive/c/tmp $ cygpath -aw . # As seen by Windows
C:\tmp $ git init
Initialized empty Git repository in /cygdrive/c/tmp/.git/ $ git add 'c:\tmp\file' || echo non-zero exit code # Errors out as expected
fatal: pathspec 'c:\tmp\file' did not match any files
non-zero exit code$ touch file
$ git add 'c:\tmp\file' || echo non-zero exit code # No error this time...
$ git status # ...even though the file didn't get added
On branch masterInitial commit
Untracked files:
(use "git add <file>..." to include in what will be committed)file
nothing added to commit but untracked files present (use "git add" to track)
I wouldn't expect adding the file to actually succeed, but I would expect it to either succeed or produce an error, rather than silently failing.
Experimentation shows I get the same behaviour for 'c:\tmp\file', 'c:/tmp/file' and 'subdir\file'. I'm seeing this on v2.8.0; the downstream report says the same behaviour occurs on v2.7.4[0], and I've also seen what appears to be the same behaviour on a v2.0.5 build I produced to check.
Adam
[0]: https://cygwin.com/ml/cygwin/2016-04/msg00474.html