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

Re: [PATCH 2/2] git-sh-setup: work around Cygwin path handling gotchas

From
Junio C Hamano <gitster@pobox.com>
Date
May 18, 2012, 02:34 UTC
Message-ID
<7vehqib4kk.fsf@alter.siamese.dyndns.org>
In-Reply-To
<4FB58678.1050009@ramsay1.demon.co.uk>
Ramsay Jones <ramsay@ramsay1.demon.co.uk> writes:
> I guess you won't be shocked to hear that I don't think this patch is
> necessary. :-P

That is more or less irrelevant, not in the sense that what you say is irrelevant, but in the sense that something can be worked around in a different way alone is not a good reason to reject a patch, if its benefit outweigh its costs.

The more important message for you to respond to is this one:
    Subject: Re: Git commit path vs rebase path
    To: Ramsay Jones <ramsay@ramsay1.demon.co.uk>
    Cc: Johannes Sixt <j.sixt@viscovery.net>,
            Steven Penny <svnpenn@gmail.com>,
            Junio C Hamano <gitster@pobox.com>, git@vger.kernel.org
    Date: Thu, 17 May 2012 12:19:33 -0700
    Message-ID: <xmqqfwayobsq.fsf@junio.mtv.corp.google.com>
Show 8 quoted lines
> My concerns about this patch include:
>
>     - the additional fork+exec overhead associated with calling cygpath.
>       I'm not actually claiming there is any substantial increase; I
>       haven't tried it, so I don't know how "hot" the pwd() function is.
>
>     - this is a "big hammer" which will affect much more code that is
>       required to fix this problem.

If I speculated in the other message is correct (in short, "In Cygwin world, Git is compiled to use POSIX paths and would not work with Windows paths."), I think this "problem" is fundamentally un"fix"able.

And from Cygwin Git, your programs (like $EDITOR and hooks) will get POSIX paths. It is your programs' responsibility to turn them into Windows paths if/as necessary.

> Anyway, I applied this patch tonight to give it a go. The very first test
> I tried failed. I've attached the log of the failing test below.
> Note that it is attempting to use "ssh" to a "host" that ends in ".../C:".

Of course. That is one typical symptom that suggests my speculation was correct.

So "I don't think this patch is necessary" is irrelevant, but "This patch is harmful; Git on Cygwin is never supposed to use Windows paths" is very relevant ;-)

Previous: Ramsay JonesNext: Steven Penny
Message 28 of 32 in “Git commit path vs rebase path”
  1. Steven PennyMay 6, 2012
  2. Junio C HamanoMay 7, 2012
  3. Johannes SixtMay 8, 2012
  4. Steven PennyMay 8, 2012
  5. Johannes SixtMay 8, 2012
  6. Steven PennyMay 8, 2012
  7. Junio C HamanoMay 8, 2012
  8. Junio C HamanoMay 8, 2012
  9. Steven PennyMay 8, 2012
  10. Junio C HamanoMay 9, 2012
  11. Steven PennyMay 9, 2012
  12. Ramsay JonesMay 10, 2012
  13. Steven PennyMay 11, 2012
  14. Ramsay JonesMay 13, 2012
  15. Steven PennyMay 13, 2012
  16. Johannes SixtMay 14, 2012
  17. Ramsay JonesMay 15, 2012
  18. Johannes SixtMay 16, 2012
  19. Ramsay JonesMay 17, 2012
  20. Junio C HamanoMay 17, 2012
  21. 0/2 Re: Git commit path vs rebase pathJunio C Hamano, May 16, 2012
  22. 1/2 git-sh-setup: define workaround wrappers before they are usedJunio C Hamano, May 16, 2012
  23. Ramsay JonesMay 17, 2012
  24. 2/2 git-sh-setup: work around Cygwin path handling gotchasJunio C Hamano, May 16, 2012
  25. Steven PennyMay 16, 2012
  26. Junio C HamanoMay 16, 2012
  27. Ramsay JonesMay 17, 2012
  28. Junio C HamanoMay 18, 2012
  29. Steven PennyMay 19, 2012
  30. Ramsay JonesMay 21, 2012
  31. Junio C HamanoMay 21, 2012
  32. Ramsay JonesMay 24, 2012

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.