I guess our home directories recently were changed from symlinks to autmounts. Solaris 8's mkdir(2) returns ENOSYS when applied to these, breaking safe_create_leading_directories. I don't know if ENOSYS is available everywhere, or if this odd behavior is appropriate everywhere. This works for me, but should I wrap mkdir for bizarre behavior by adding a compat/gitmkdir.c? Signed-off-by: Jason Riedy <ejr@cs.berkeley.edu> --- sha1_file.c | 8 ++++++++ 1 files changed, 8 insertions(+), 0 deletions(-) 4f388cf48271ec1547817a407ef1afe432cd59d4 diff --git a/sha1_file.c b/sha1_file.c index 20f6419..65407e2 100644 --- a/sha1_file.c +++ b/sha1_file.c @@ -83,7 +83,15 @@ int safe_create_leading_directories(char break; *pos = 0; if (mkdir(path, 0777) < 0) { +#if !defined(ENOSYS) if (errno != EEXIST) { +#else + if (errno != EEXIST && errno != ENOSYS) { +#endif +/* + * Solaris 8 appears to return ENOSYS when mkdir is applied + * to an automount. + */ *pos = '/'; return -1; } -- 1.1.6.g7159 - To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.htmlReceived on Thu Feb 02 11:39:56 2006
This archive was generated by hypermail 2.1.8 : 2006-02-02 11:40:08 EST