Merge branch 'ib/rev-parse-parseopt-argh'
[gitweb.git] / builtin / clean.c
index 114d7bf879690fb1c1c33f768b86776b6ff60ef8..cf76b1f412e5423df42528c928c557764f31ad02 100644 (file)
@@ -947,17 +947,15 @@ int cmd_clean(int argc, const char **argv, const char *prefix)
                if (pathspec.nr)
                        matches = dir_path_match(ent, &pathspec, 0, NULL);
 
-               if (S_ISDIR(st.st_mode)) {
-                       if (remove_directories || (matches == MATCHED_EXACTLY)) {
-                               rel = relative_path(ent->name, prefix, &buf);
-                               string_list_append(&del_list, rel);
-                       }
-               } else {
-                       if (pathspec.nr && !matches)
-                               continue;
-                       rel = relative_path(ent->name, prefix, &buf);
-                       string_list_append(&del_list, rel);
-               }
+               if (pathspec.nr && !matches)
+                       continue;
+
+               if (S_ISDIR(st.st_mode) && !remove_directories &&
+                   matches != MATCHED_EXACTLY)
+                       continue;
+
+               rel = relative_path(ent->name, prefix, &buf);
+               string_list_append(&del_list, rel);
        }
 
        if (interactive && del_list.nr > 0)