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

Re: git on Cygwin: Not a valid object name HEAD

From
Steffen Prohaska <prohaska@zib.de>
Date
Aug 8, 2007, 15:51 UTC
Message-ID
<A2397231-1B81-4AD4-87CB-8FF8FB9BA89C@zib.de>
In-Reply-To
<30e4a070708080650j5de7ee92p4acd7e82de7d9dff@mail.gmail.com>
On Aug 8, 2007, at 3:50 PM, Mark Levedahl wrote:
Show 21 quoted lines
> On 8/7/07, Steffen Prohaska <prohaska@zib.de> wrote:
>>
>> I read your message and I just checked the most recent installer
>> of cygwin (screenshot attached).
>>
>> I see three choices I'm offered:
>> 1) the path to install;
>> 2) install for all or just me;
>> 3) choose the default text file type.
>>
>> I wouldn't call that deprecated, not even obsolenscent.
>
> Call it passively deprecated. there has been a lot of discussion about
> removing it, or at least hiding it behind the mount command and not
> offering it at all during installation. The objective of text mounts
> was noble, but it really is hard to automatically convert any
> occurrence of crlf->lf and lf->crlf everywhere it should be done but
> not where it should not be done. However, a lot of people use text
> mounts without trouble (or at least without complaining to the lists),
> so removing the option outright was thought too likely to cause an
> uproar.

That is what I'm facing now. A policy I need to handle tells people explicitly to choose textmode to force cvs in cygwin to do the right thing: converting lf->crlf->lf.

I'm not in a position to tell them not to follow this policy; and I don't think it's reasonable to change the policy right away. They have a lot of cvs working copies checked out and if they switched from textmode to binmode now, they'd get crlf's on the next commit, which they deliberately chose to avoid by using textmode.

> So, consider that Cygwin is taking the "let it rot, remove it
> later" approach.
This may take years.

For me it would be easier if Cygwin (not I) told the world very clearly: You must no longer use binary mounts. Consider switching now, but you must switch until end of 2007. This would make my life much more easier. I could tell that it's not my fault and not git's fault, it's Cygwins decision to drop support for textmode.

People might complain but I think they would understand. Providing an option and letting people install software that is not able to handle this option causes nothing but trouble. The very least would be to only allow installing software that is known to handle textmode. Or provide another mode that guarantees that no conversion takes place and offers a larger selection of packages.

Show 10 quoted lines
> Anyone who has troubles is generally and not so
> gently encouraged to just use binary mounts. There are some known crlf
> problems, largely with bash/sh, pipes, forks, and redirection (of
> which git is a heavy user so git is a prime candidate to get into
> trouble) that are not being worked.
>
> For instance, when working on git-bundle.sh, I got bit by crlf
> conversions corrupting packfiles sent through a pipe on a system with
> pure binary mounts and CYGWIN=binmode. The cure to that bug is
> *removing* auto-crlf conversion from Cygwin.

Technically I agree. The problem is, textmode is not removed, but appears as if it was supported (see installer).

I'm running out of options: git in cygwin appeared to work for me, but it's not working in the context of the organization that I need to deal with. I can't force them to switch to binary mode. Other approaches to git on Windows are on their way, but, to my understanding, are not mature enough. git-cvsserver doesn't provide sufficient cvs functionality to be compatible with the needed workflows.

The bottom line for me is, git does not yet support Windows in a usable way for the organizations that I need to convince.

	Steffen
Previous: Mark LevedahlNext: Mark Levedahl
Message 25 of 60 in “git on Cygwin: Not a valid object name HEAD”
  1. Sebastian SchuberthAug 7, 2007
  2. Johannes SchindelinAug 7, 2007
  3. Sebastian SchuberthAug 7, 2007
  4. Sebastian SchuberthAug 7, 2007
  5. Shawn O. PearceAug 7, 2007
  6. Brian DowningAug 7, 2007
  7. Sebastian SchuberthAug 7, 2007
  8. Steffen ProhaskaAug 7, 2007
  9. Mark LevedahlAug 7, 2007
  10. Steffen ProhaskaAug 7, 2007
  11. Linus TorvaldsAug 7, 2007
  12. Junio C HamanoAug 7, 2007
  13. Linus TorvaldsAug 8, 2007
  14. Steffen ProhaskaAug 7, 2007
  15. cygwin: added fopen "b" and open O_BINARY to support cygwin's textmodeSteffen Prohaska, Aug 7, 2007
  16. tests: added d2u to have unix style testfiles even in textmodeSteffen Prohaska, Aug 7, 2007
  17. Linus TorvaldsAug 8, 2007
  18. Steffen ProhaskaAug 8, 2007
  19. Steffen ProhaskaAug 7, 2007
  20. Brian DowningAug 8, 2007
  21. Steffen ProhaskaAug 8, 2007
  22. Junio C HamanoAug 7, 2007
  23. Sebastian SchuberthAug 8, 2007
  24. Mark LevedahlAug 8, 2007
  25. Steffen ProhaskaAug 8, 2007
  26. Mark LevedahlAug 8, 2007
  27. Johannes SchindelinAug 8, 2007
  28. Steffen ProhaskaAug 8, 2007
  29. Steffen ProhaskaAug 8, 2007
  30. Steffen ProhaskaAug 8, 2007
  31. Mark LevedahlAug 8, 2007
  32. Steffen ProhaskaAug 9, 2007
  33. Marius Storm-OlsenAug 9, 2007
  34. Steffen ProhaskaAug 9, 2007
  35. Marius Storm-OlsenAug 9, 2007
  36. Johannes SchindelinAug 9, 2007
  37. Marius Storm-OlsenAug 9, 2007
  38. Steffen ProhaskaAug 9, 2007
  39. Johannes SchindelinAug 8, 2007
  40. Steffen ProhaskaAug 9, 2007
  41. Torgil SvenssonAug 10, 2007
  42. Steffen ProhaskaAug 10, 2007
  43. Johannes SchindelinAug 10, 2007
  44. Steffen ProhaskaAug 10, 2007
  45. Torgil SvenssonAug 10, 2007
  46. Steffen ProhaskaAug 11, 2007
  47. Johannes SchindelinAug 13, 2007
  48. Torgil SvenssonAug 15, 2007
  49. Steffen ProhaskaAug 15, 2007
  50. David KastrupAug 15, 2007
  51. Steffen ProhaskaAug 15, 2007
  52. David KastrupAug 15, 2007
  53. Mark LevedahlAug 7, 2007
  54. Shawn O. PearceAug 15, 2007
  55. Mark LevedahlAug 15, 2007
  56. Mark LevedahlAug 15, 2007
  57. Steffen ProhaskaAug 15, 2007
  58. Mark LevedahlAug 16, 2007
  59. Steffen ProhaskaAug 16, 2007
  60. Mark LevedahlAug 16, 2007

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.