Re: [PATCH 2/2] On Cygwin support both UNIX and DOS style path-names
- From
Johannes Sixt <j6t@kdbg.org>
- Date
- Aug 9, 2011, 19:47 UTC
- Message-ID
- <4E418EC3.4070904@kdbg.org>
- In-Reply-To
- <1312560614-20772-3-git-send-email-pascal@obry.net>
Am 05.08.2011 18:10, schrieb Pascal Obry:
Show 9 quoted lines
> 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.
Do you also want to support this:
$ git add src\file.c
i.e., backslash in pathspec? Then you need more than this:
> +#define has_dos_drive_prefix(path) (isalpha(*(path)) && (path)[1] == ':') > +#define is_dir_sep(c) ((c) == '/' || (c) == '\\')
In particular, you have to enable backslash processing in setup.c:prefix_filename(), but then you lose the ability to escape special characters with the backslash.
-- Hannes