From: Thomas Glanzmann Date: Mon, 16 Jul 2007 13:45:29 GMT Subject: Re: "git clone" executed as root on solaris 10 shreds UFS (it is possible to create hardlinks for directories as root under solaris) Message-ID: <20070716134529.GC26675@cip.informatik.uni-erlangen.de> In-Reply-To: <20070716100803.GA24036@cip.informatik.uni-erlangen.de> Hello, entry.c line 17: static void create_directories(const char *path, const struct checkout *state) { ... if (mkdir(buf, 0777)) { => if (errno == EEXIST) { struct stat st; => if (len > state->base_dir_len && state->force && !unlink(buf) && !mkdir(buf, 0777)) continue; if (!stat(buf, &st) && S_ISDIR(st.st_mode)) continue; /* ok */ } die("cannot create directory at %s", buf); } ... I think here is the problem. I don't understand what the code should do actually. Or why the directory is deleted and re-created (maybe something todo with permissions)? Thomas