All of lore.kernel.org
 help / color / mirror / Atom feed
From: Sebastian Schuberth <sschuberth@gmail.com>
To: git@vger.kernel.org
Cc: "Shawn O. Pearce" <spearce@spearce.org>
Subject: Re: git on Cygwin: Not a valid object name HEAD
Date: Tue, 07 Aug 2007 17:27:22 +0200	[thread overview]
Message-ID: <46B88F5A.9040801@gmail.com> (raw)
In-Reply-To: <20070807145825.GO21692@lavos.net>

>> Now on a normal UNIX system open(2) *always* by definition does
>> binary IO.  But Cygwin's text mount option tries to make UNIX
>> programs DOS-friendly by making all files treated as text, even if
>> it supposedly doing binary IO via open(2).
>>
>> I think its a mis-feature of Cygwin.  Git has no way (that I know
>> of) to defend itself from this, other than to tell the user to make
>> sure they only store a Git repository in a location that is mounted
>> with the binary flag.
> 
> Cygwin, like Windows' own open(2) simulation, defines an O_BINARY to pass
> as a flag to open(2).  I once got Git half-working on Cygwin text-mode
> mounts by doing a horrible hack approximating:
> 
> #define open(name, flag, ...) \
> 	open(name, (flag) | O_BINARY, ## __VA_ARGS__)
> 
> But it only half worked.  Eventually it managed to corrupt itself again,
> and worse, the test suite was completely hopeless, as all shell activity
> still results in text-mode files.

Something like that would have been my suggested work-around, too. 
Unfortunate to hear this alone won't fix the problem. I've spotted 
several fopen() calls in git where "b" is not explicitly used. Maybe 
fixing those, too, would to do it.

-- 
Sebastian Schuberth

  reply	other threads:[~2007-08-07 15:27 UTC|newest]

Thread overview: 60+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-08-07  9:02 git on Cygwin: Not a valid object name HEAD Sebastian Schuberth
2007-08-07 11:58 ` Johannes Schindelin
2007-08-07 12:13   ` Sebastian Schuberth
2007-08-07 13:18     ` Sebastian Schuberth
2007-08-07 14:36       ` Shawn O. Pearce
2007-08-07 14:58         ` Brian Downing
2007-08-07 15:27           ` Sebastian Schuberth [this message]
2007-08-07 17:11           ` Steffen Prohaska
2007-08-07 17:42             ` Mark Levedahl
2007-08-07 19:41               ` Steffen Prohaska
2007-08-07 21:44                 ` Linus Torvalds
2007-08-07 22:28                   ` Junio C Hamano
2007-08-08  3:47                     ` Linus Torvalds
2007-08-07 22:46                   ` Steffen Prohaska
2007-08-07 22:49                     ` [PATCH] cygwin: added fopen "b" and open O_BINARY to support cygwin's textmode Steffen Prohaska
2007-08-07 22:49                       ` [PATCH] tests: added d2u to have unix style testfiles even in textmode Steffen Prohaska
2007-08-08  3:03                         ` Linus Torvalds
2007-08-08  5:00                           ` Steffen Prohaska
2007-08-07 23:20                     ` git on Cygwin: Not a valid object name HEAD Steffen Prohaska
2007-08-08  4:25                     ` Brian Downing
2007-08-08  5:46                       ` Steffen Prohaska
2007-08-07 22:26                 ` Junio C Hamano
2007-08-08  7:55                   ` Sebastian Schuberth
2007-08-08 13:50                 ` Mark Levedahl
2007-08-08 15:51                   ` Steffen Prohaska
2007-08-08 16:41                     ` Mark Levedahl
2007-08-08 17:20                       ` Johannes Schindelin
2007-08-08 19:37                         ` Steffen Prohaska
2007-08-08 20:13                           ` Steffen Prohaska
2007-08-08 20:36                             ` Steffen Prohaska
2007-08-08 23:07                               ` Mark Levedahl
2007-08-09  4:59                                 ` Steffen Prohaska
2007-08-09  6:01                               ` Marius Storm-Olsen
2007-08-09  6:38                                 ` Steffen Prohaska
2007-08-09  6:47                                   ` Marius Storm-Olsen
2007-08-09  8:50                                 ` Johannes Schindelin
2007-08-09  9:00                                   ` Marius Storm-Olsen
2007-08-09 10:33                                     ` Steffen Prohaska
2007-08-08 21:30                           ` Johannes Schindelin
2007-08-09  6:20                             ` Steffen Prohaska
2007-08-10  6:07                               ` Torgil Svensson
2007-08-10  7:19                                 ` Steffen Prohaska
2007-08-10 10:30                                   ` Johannes Schindelin
2007-08-10 11:14                                     ` Steffen Prohaska
2007-08-10 22:31                                   ` Torgil Svensson
2007-08-11  0:43                                     ` Steffen Prohaska
2007-08-13 10:50                                       ` Johannes Schindelin
2007-08-15  0:04                                       ` Torgil Svensson
2007-08-15  5:22                                         ` Steffen Prohaska
2007-08-15  5:30                                           ` David Kastrup
2007-08-15  5:43                                             ` Steffen Prohaska
2007-08-15  6:59                                               ` David Kastrup
     [not found]                                               ` <86k5rx474o.fsf@lola.quinscape.zz>
2007-08-15  7:38                                                 ` Shawn O. Pearce
2007-08-15 12:42                                                   ` Mark Levedahl
2007-08-15 12:48                                                     ` Mark Levedahl
2007-08-15 13:06                                                       ` Steffen Prohaska
2007-08-16  0:27                                                         ` Mark Levedahl
2007-08-16  6:04                                                           ` Steffen Prohaska
2007-08-16 11:55                                                             ` Mark Levedahl
2007-08-07 15:29       ` Mark Levedahl

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=46B88F5A.9040801@gmail.com \
    --to=sschuberth@gmail.com \
    --cc=git@vger.kernel.org \
    --cc=spearce@spearce.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.