Subject: [PATCH v10 00/14] interactive git-clean

From: Jiang Xin <[email-masked]>
Date: Thu, 16 May 2013 17:53:31 +0800

Updates since v9:

 * Patch 01-04: refactor relative_path() in path.c, and reused it in
   quote.c and clean.c.

 * Patch 14: add testcases as t7301, and catch two bugs by running
   testcases.

 * Bugfix: when select by number, range like "5-" does not select
   last entry.

     @@ -485,7 +443,7 @@ static int parse_choice(struct menu_stuff *menu_stuff,
      			bottom = atoi((*ptr)->buf);
      			/* a range can be specified like 5-7 or 5- */
      			if (!*(strchr((*ptr)->buf, '-') + 1)) {
     -				top = menu_stuff->nr - 1;
     +				top = menu_stuff->nr;
      			} else {
      				top = atoi(strchr((*ptr)->buf, '-') + 1);
      			}
     
 * For the "ask each" action, confirmation other than "yes" should not
   delete files.

     @@ -772,7 +730,7 @@ static int ask_each_cmd(void)
      				eof = 1;
      			}
      		}
     -		if (!confirm.len || !strncasecmp(confirm.buf, "no", confirm.len)) {
     +		if (!confirm.len || strncasecmp(confirm.buf, "yes", confirm.len)) {
      			*item->string = '\0';
      			changed++;
      		}

Jiang Xin (14):
  path.c: refactor relative_path(), not only strip prefix
  quote.c: remove path_relative, use relative_path instead
  Refactor quote_path_relative, remove unused params
  Refactor write_name_quoted_relative, remove unused params
  git-clean: refactor git-clean into two phases
  git-clean: add support for -i/--interactive
  git-clean: show items of del_list in columns
  git-clean: add colors to interactive git-clean
  git-clean: use a git-add-interactive compatible UI
  git-clean: add filter by pattern interactive action
  git-clean: add select by numbers interactive action
  git-clean: add ask each interactive action
  git-clean: add documentation for interactive git-clean
  test: add t7301 for git-clean--interactive

 Documentation/config.txt     |  21 +-
 Documentation/git-clean.txt  |  71 +++-
 builtin/clean.c              | 771 +++++++++++++++++++++++++++++++++++++++++--
 builtin/grep.c               |   5 +-
 builtin/ls-files.c           |  16 +-
 cache.h                      |   2 +-
 path.c                       | 112 +++++--
 quote.c                      |  65 +---
 quote.h                      |   7 +-
 setup.c                      |   5 +-
 t/t7301-clean-interactive.sh | 439 ++++++++++++++++++++++++
 wt-status.c                  |  17 +-
 12 files changed, 1380 insertions(+), 151 deletions(-)
 create mode 100755 t/t7301-clean-interactive.sh

-- 
1.8.3.rc1.407.g762149a