On Tue, 11 Jul 2006, Junio C Hamano wrote:
Shawn Pearce [off-list ref] writes:
quoted
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