]> git.ipfire.org Git - thirdparty/git.git/blobdiff - builtin/clean.c
Merge branch 'en/fill-directory-exponential'
[thirdparty/git.git] / builtin / clean.c
index 5abf087e7c495153b36b927b5b615f80a68d414c..f14c21b8638db70a5fa070096f7853e9900b5edd 100644 (file)
@@ -18,6 +18,7 @@
 #include "color.h"
 #include "pathspec.h"
 #include "help.h"
+#include "prompt.h"
 
 static int force = -1; /* unset */
 static int interactive;
@@ -420,7 +421,6 @@ static int find_unique(const char *choice, struct menu_stuff *menu_stuff)
        return found;
 }
 
-
 /*
  * Parse user input, and return choice(s) for menu (menu_stuff).
  *
@@ -580,9 +580,7 @@ static int *list_and_choose(struct menu_opts *opts, struct menu_stuff *stuff)
                               clean_get_color(CLEAN_COLOR_RESET));
                }
 
-               if (strbuf_getline_lf(&choice, stdin) != EOF) {
-                       strbuf_trim(&choice);
-               } else {
+               if (git_read_line_interactively(&choice) == EOF) {
                        eof = 1;
                        break;
                }
@@ -662,9 +660,7 @@ static int filter_by_patterns_cmd(void)
                clean_print_color(CLEAN_COLOR_PROMPT);
                printf(_("Input ignore patterns>> "));
                clean_print_color(CLEAN_COLOR_RESET);
-               if (strbuf_getline_lf(&confirm, stdin) != EOF)
-                       strbuf_trim(&confirm);
-               else
+               if (git_read_line_interactively(&confirm) == EOF)
                        putchar('\n');
 
                /* quit filter_by_pattern mode if press ENTER or Ctrl-D */
@@ -760,9 +756,7 @@ static int ask_each_cmd(void)
                        qname = quote_path_relative(item->string, NULL, &buf);
                        /* TRANSLATORS: Make sure to keep [y/N] as is */
                        printf(_("Remove %s [y/N]? "), qname);
-                       if (strbuf_getline_lf(&confirm, stdin) != EOF) {
-                               strbuf_trim(&confirm);
-                       } else {
+                       if (git_read_line_interactively(&confirm) == EOF) {
                                putchar('\n');
                                eof = 1;
                        }
@@ -989,12 +983,6 @@ int cmd_clean(int argc, const char **argv, const char *prefix)
                if (!cache_name_is_other(ent->name, ent->len))
                        continue;
 
-               if (pathspec.nr)
-                       matches = dir_path_match(&the_index, ent, &pathspec, 0, NULL);
-
-               if (pathspec.nr && !matches)
-                       continue;
-
                if (lstat(ent->name, &st))
                        die_errno("Cannot lstat '%s'", ent->name);