On Fri, Aug 5, 2011 at 7:48 PM, Junio C Hamano <gitster@xxxxxxxxx> wrote: > Pascal Obry <pascal@xxxxxxxx> writes: > >> 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. >> >> Signed-off-by: Pascal Obry <pascal@xxxxxxxx> >> --- >> compat/cygwin.h | 3 +++ >> 1 files changed, 3 insertions(+), 0 deletions(-) >> >> diff --git a/compat/cygwin.h b/compat/cygwin.h >> index a3229f5..de9737c 100644 >> --- a/compat/cygwin.h >> +++ b/compat/cygwin.h >> @@ -7,3 +7,6 @@ extern stat_fn_t cygwin_lstat_fn; >> >> #define stat(path, buf) (*cygwin_stat_fn)(path, buf) >> #define lstat(path, buf) (*cygwin_lstat_fn)(path, buf) >> + >> +#define has_dos_drive_prefix(path) (isalpha(*(path)) && (path)[1] == ':') >> +#define is_dir_sep(c) ((c) == '/' || (c) == '\\') > > I wonder if these two that are the same as mingw should further be > consolidated into one implementation, something like below. > > Note that I am just wondering, not suggesting, without knowing which is > better. IMO this becomes a bit hard to read as you have to ping-pong between sources to understand exactly what that flag does. We have compat/win32.h, perhaps we should move the macros there and include it from both compat/mingw.h and compat/cygwin.h instead (given that we're going to do this, of course)? -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html