Re: Error writing loose object on Cygwin
- From
Linus Torvalds <torvalds@osdl.org>
- Date
- Jul 12, 2006, 04:36 UTC
- Message-ID
- <Pine.LNX.4.64.0607112132540.5623@g5.osdl.org>
- In-Reply-To
- <7vr70r1ms5.fsf@assigned-by-dhcp.cox.net>
On Tue, 11 Jul 2006, Junio C Hamano wrote:
Show 6 quoted lines
> Shawn Pearce <spearce@spearce.org> writes: > > > Has anyone else seen this type of behavior before? Any suggestions > > on debugging this issue? > > I would suggest raising this (politely) to Cygwin people.
Well, since it apparently works with W2000, and breaks with XP, I suspect it's actually Windows that just returns the wrong error code.
It's entirely possible that we should just make that whole
if (ret == ENOENT)
go away. Yes, it's the right error code if a subdirectory is missing, and yes, POSIX requires it, and yes, WXP is probably just a horrible piece of sh*t, but on the other hand, I don't think git really has any serious reason to even care.
So we might as well say that if the link() fails for _any_ reason, we'll try to see if doing the mkdir() and re-trying the link helps.
Linus