From: Steffen Prohaska Date: Wed, 08 Aug 2007 15:51:23 GMT Subject: Re: git on Cygwin: Not a valid object name HEAD Message-ID: In-Reply-To: <30e4a070708080650j5de7ee92p4acd7e82de7d9dff@mail.gmail.com> On Aug 8, 2007, at 3:50 PM, Mark Levedahl wrote: > On 8/7/07, Steffen Prohaska 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. > 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