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

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




On Aug 8, 2007, at 3:50 PM, Mark Levedahl wrote:

On 8/7/07, Steffen Prohaska <prohaska@xxxxxx> 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
-
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]

  Powered by Linux