During a git clean, some other process might be deleting files as well. If this happens, make git clean no longer die. Signed-off-by: David Turner <dturner@xxxxxxxxxxx> --- builtin/clean.c | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/builtin/clean.c b/builtin/clean.c index 98c103f..3ae44c2 100644 --- a/builtin/clean.c +++ b/builtin/clean.c @@ -941,8 +941,16 @@ int cmd_clean(int argc, const char **argv, const char *prefix) if (!cache_name_is_other(ent->name, ent->len)) continue; - if (lstat(ent->name, &st)) - die_errno("Cannot lstat '%s'", ent->name); + /* + * Some concurrent process might have already removed + * ent->name. + */ + if (lstat(ent->name, &st)) { + if (errno == ENOENT || errno == ENOTDIR) + continue; + else + die_errno("Cannot lstat '%s'", ent->name); + } if (pathspec.nr) matches = dir_path_match(ent, &pathspec, 0, NULL); -- 2.0.4.315.gad8727a-twtrsrc -- 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