git/list[1] front-page[2] threads[3] people[4] search[5] about
 

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
Previous: Vijay Lakshminarayanan
Message 19 of 19 in “[PATH 0/2] On Cygwin support both UNIX and DOS style path-names”
  1. Pascal ObryAug 5, 2011
  2. 1/2 git-compat-util: add generic find_last_dir_sep that respects is_dir_sepPascal Obry, Aug 5, 2011
  3. 2/2 On Cygwin support both UNIX and DOS style path-namesPascal Obry, Aug 5, 2011
  4. Erik Faye-LundAug 5, 2011
  5. Pascal ObryAug 5, 2011
  6. Erik Faye-LundAug 5, 2011
  7. Erik Faye-LundAug 5, 2011
  8. Pascal ObryAug 5, 2011
  9. Ramsay JonesAug 9, 2011
  10. Ramsay JonesAug 9, 2011
  11. Junio C HamanoAug 5, 2011
  12. Erik Faye-LundAug 5, 2011
  13. Pascal ObryAug 6, 2011
  14. Ramsay JonesAug 9, 2011
  15. Pascal ObryAug 9, 2011
  16. Ramsay JonesAug 11, 2011
  17. Pascal ObryAug 13, 2011
  18. Vijay LakshminarayananAug 10, 2011
  19. Johannes SixtAug 9, 2011

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.