On Sat, 25 Apr 2009, Johannes Schindelin wrote: > diff --git a/sha1_file.c b/sha1_file.c > index 8fe135d..bb6eecf 100644 > --- a/sha1_file.c > +++ b/sha1_file.c > @@ -2225,7 +2225,9 @@ int move_temp_to_file(const char *tmpfile, const char *filename) > { > int ret = 0; > > - if (link(tmpfile, filename)) > + if (unreliable_hardlinks) > + ret = ~EEXIST; /* anything but EEXIST */ Don't do this. ~EEXIST could be 0 (admittedly only if EEXIST is -1 which is not reasonable, but who knows about odd operating systems). Which is not a good return value either. So why not just use an explicit error value like EIO? Don't play games with this. Linus -- 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