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

Re: [PATCH v2 1/3] git clone <url> C:\cygwin\home\USER\repo' is working (again)

From
Elijah Newren <newren@gmail.com>
Date
Dec 12, 2018, 03:47 UTC
Message-ID
<CABPp-BHqJ_Dqpi-N-GVu9difvh-SnD1SZ2-SqaG0ctu5fBX-Tw@mail.gmail.com>
In-Reply-To
<CAAXzdLVTjCVDmBik-j9B_Z_2wgSj=_6baqmjmGEGBFOsjkyOsw@mail.gmail.com>
On Fri, Dec 7, 2018 at 4:51 PM Steven Penny <svnpenn@gmail.com> wrote:
Show 33 quoted lines
>
> On Fri, Dec 7, 2018 at 11:04 AM wrote:
> > The solution is to implement has_dos_drive_prefix(), skip_dos_drive_prefix()
> > is_dir_sep(), offset_1st_component() and convert_slashes() for cygwin
> > in the same way as it is done in 'Git for Windows' in compat/mingw.[ch]
> >
> > Instead of duplicating the code, it is extracted into compat/mingw-cygwin.[ch]
> > Some need for refactoring and cleanup came up in the review, they are adressed
> > in a seperate commit.
>
> i have applied the 3 patches against current master, and my original test
> passes, so looks good to me.
>
> however like Johannes i take issue with the naming. as he said "mingw-cygwin"
> really isnt appropriate. ideally it would be "windows.h", but as that is
> conspicuously in use, something like these:
>
> - pc-windows
> - pc-win
> - win
>
> i disagree with him on using "win32" - that doesnt really make sense, as
> obviously you can compile 64-bit Git for Windows. if you wanted to go that route
> you would want to use something like:
>
> - windows-api
> - win-api
> - winapi
>
> further - i disagree with the "DOS" moniker being used at all. DOS is a defunkt
> operating system that i dont think Git has *ever* supported, so it doesnt make
> sense to be referring to it this way. again, a more approriate name would be
> something like "win_drive_prefix".

You seem to want internal function and filenames to be based on the product or marketing names of currently targetted systems. I don't see why this is desirable; could you explain why it is?

I admit that I seem to see things more from Dscho's angle.  However, I
know much less about Windows than either of you.  Perhaps my best
understanding of the situation might help, limited as it is:
  - Using currently targetted system names means future code churn --
we may have to rename functions and files for absolutely no useful
gain, muddying the history, making it harder for developers to
remember how to find things, etc., simply because an external party
renamed their libraries or introduced a new product.
  - For people less familiar with windows,
"windows-api/win-api/winapi" and "win_drive_prefix" may sound like
something only available in newer systems, making them wonder if the
file name or function name is referring to some new windows concept
they are unfamiliar with
  - Mentioning an anchor point where the relevant concept originally
targetted or where it came from (win32/path.c, dos_drive_prefix)
avoids or greatly reduces both problems.

I'm worried based on other emails in this thread that there is a fundamental difference in frame of reference leading to a misunderstanding about rationale for naming, and worse that folks might not even realize where the misunderstanding is coming from, attributing it to different motives rather than different frames of reference. If that's true, I hope this email can begin the process of clearing up the differences of understanding. If I'm wrong, then I apologize for the noise; just ignore me.

Best wishes, Elijah

Previous: Johannes SchindelinNext: Johannes Schindelin
Message 44 of 56 in “Cygwin Git with Windows paths”
  1. Steven PennyNov 18, 2018
  2. Torsten BögershausenNov 18, 2018
  3. Steven PennyNov 18, 2018
  4. Torsten BögershausenNov 18, 2018
  5. Steven PennyNov 18, 2018
  6. Torsten BögershausenNov 18, 2018
  7. Steven PennyNov 18, 2018
  8. Junio C HamanoNov 19, 2018
  9. Randall S. BeckerNov 19, 2018
  10. Junio C HamanoNov 19, 2018
  11. Torsten BögershausenNov 19, 2018
  12. Steven PennyNov 20, 2018
  13. Torsten BögershausenNov 20, 2018
  14. Steven PennyNov 20, 2018
  15. Randall S. BeckerNov 19, 2018
  16. 1/1 'git clone <url> C:\cygwin\home\USER\repo' is working (again)tboegi@web.de, Nov 26, 2018
  17. Steven PennyNov 27, 2018
  18. Junio C HamanoNov 27, 2018
  19. Steven PennyNov 27, 2018
  20. Junio C HamanoNov 27, 2018
  21. Steven PennyNov 27, 2018
  22. Johannes SchindelinNov 27, 2018
  23. Junio C HamanoNov 28, 2018
  24. J.H. van de WaterNov 28, 2018
  25. Johannes SchindelinNov 28, 2018
  26. HouderNov 28, 2018
  27. Johannes SchindelinNov 28, 2018
  28. Achim GratzNov 27, 2018
  29. Johannes SchindelinNov 27, 2018
  30. Junio C HamanoNov 28, 2018
  31. Achim GratzNov 27, 2018
  32. 2/3 offset_1st_component(), dos_drive_prefix() return size_ttboegi@web.de, Dec 7, 2018
  33. 1/3 git clone <url> C:\cygwin\home\USER\repo' is working (again)tboegi@web.de, Dec 7, 2018
  34. Johannes SchindelinDec 7, 2018
  35. Steven PennyDec 8, 2018
  36. Johannes SchindelinDec 10, 2018
  37. Steven PennyDec 10, 2018
  38. Johannes SchindelinDec 11, 2018
  39. Steven PennyDec 12, 2018
  40. Johannes SixtDec 12, 2018
  41. Steven PennyDec 12, 2018
  42. Junio C HamanoDec 13, 2018
  43. Johannes SchindelinDec 12, 2018
  44. Elijah NewrenDec 12, 2018
  45. Johannes SchindelinDec 12, 2018
  46. 3/3 Refactor mingw_cygwin_offset_1st_component()tboegi@web.de, Dec 7, 2018
  47. Johannes SchindelinDec 7, 2018
  48. 1/1 git clone <url> C:\cygwin\home\USER\repo' is working (again)tboegi@web.de, Dec 8, 2018
  49. Steven PennyDec 8, 2018
  50. Junio C HamanoDec 9, 2018
  51. Johannes SchindelinDec 10, 2018
  52. Torsten BögershausenDec 11, 2018
  53. Johannes SchindelinDec 11, 2018
  54. Torsten BögershausenDec 11, 2018
  55. 1/1 git clone <url> C:\cygwin\home\USER\repo' is working (again)tboegi@web.de, Dec 15, 2018
  56. Achim GratzMay 2, 2019

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.