Calling unlink on a directory on a Solaris UFS filesystem as root makes it inconsistent. Thanks to Johannes Sixt for the obvious fix. --- entry.c | 4 ++-- 1 files changed, 2 insertions(+), 2 deletions(-) diff --git a/entry.c b/entry.c index 82bf725..1f2e34d 100644 --- a/entry.c +++ b/entry.c @@ -14,10 +14,10 @@ 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 */ + if (len > state->base_dir_len && state->force && !unlink(buf) && !mkdir(buf, 0777)) + continue; } die("cannot create directory at %s", buf); } -- 1.5.2.1 - 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