git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v7 00/10] interactive git clean
@ 2013-05-08 11:38 Jiang Xin
  2013-05-08 11:38 ` [PATCH v7 01/10] Add support for -i/--interactive to git-clean Jiang Xin
  2013-05-08 15:15 ` [PATCH v7 00/10] interactive git clean Eric Sunshine
  0 siblings, 2 replies; 41+ messages in thread
From: Jiang Xin @ 2013-05-08 11:38 UTC (permalink / raw)
  To: Junio C Hamano, Eric Sunshine, Matthieu Moy, Thomas Rast,
	Git List
  Cc: Jiang Xin

Significant updates since patch v6 series:

 * Refactor on patch 4/10: split `list_and_choose` into 3 functions,
   to make it easy to read.

 * Mark no public functions as static for patch 1-10.

 * If set 'pager.clean' to true (i.e. isatty(1) is false), die
   instead of do cleaning.

 * New action: flags. The user can update flags for git-clean,
   such as -x/-d/-X/-ff.

 * Alway show interactive menu, even there are no files to clean.
   Because the use can update flags for git-clean.
 
Usage:

When the command enters the interactive mode, it shows the
files and directories to be cleaned, and goes into its
interactive command loop.

The command loop shows the list of subcommands available, and
gives a prompt "What now> ".  In general, when the prompt ends
with a single '>', you can pick only one of the choices given
and type return, like this:

    *** Commands ***
      1: clean               2: edit by patterns    3: edit by numbers     4: rm -i
      5: flags: none         6: quit                7: help
    What now> 2

You also could say `c` or `clean` above as long as the choice is unique.

The main command loop has 7 subcommands.

clean::

   Start cleaning files and directories, and then quit.

edit by patterns::

   This shows the files and directories to be deleted and issues an
   "Input ignore patterns>>" prompt. You can input a space-seperated
   patterns to exclude files and directories from deletion.
   E.g. "*.c *.h" will excludes files end with ".c" and ".h" from
   deletion. When you are satisfied with the filtered result, press
   ENTER (empty) back to the main menu.

edit by numbers::

   This shows the files and directories to be deleted and issues an
   "Select items to delete>>" prompt. When the prompt ends with double
   '>>' like this, you can make more than one selection, concatenated
   with whitespace or comma.  Also you can say ranges.  E.g. "2-5 7,9"
   to choose 2,3,4,5,7,9 from the list.  If the second number in a
   range is omitted, all remaining patches are taken.  E.g. "7-" to
   choose 7,8,9 from the list.  You can say '*' to choose everything.
   Also when you are satisfied with the filtered result, press ENTER
   (empty) back to the main menu.

rm -i::

  This will show a "rm -i" style cleaning, that you must confirm one
  by one in order to delete items. This action is not as efficient
  as the above two actions.

flags::

  This lets you change the flags for git-clean, such as -x/-X/-d/-ff,
  and refresh the cleaning candidates list automatically.

quit::

  This lets you quit without do cleaning.

help::

  Show brief usage of interactive git-clean.


Jiang Xin (10):
  Add support for -i/--interactive to git-clean
  Show items of interactive git-clean in columns
  Add colors to interactive git-clean
  git-clean: use a git-add-interactive compatible UI
  git-clean: interactive cleaning by select numbers
  git-clean: rm -i style interactive cleaning
  git-clean: update document for interactive git-clean
  git-clean refactor: save some options in clean_flags
  git-clean refactor: wrap in scan_clean_candidates
  git-clean: change clean flags in interactive mode

 Documentation/config.txt    |   4 +
 Documentation/git-clean.txt |  76 +++-
 builtin/clean.c             | 972 ++++++++++++++++++++++++++++++++++++++++----
 3 files changed, 981 insertions(+), 71 deletions(-)

-- 
1.8.3.rc1.341.g1c24ab7

^ permalink raw reply	[flat|nested] 41+ messages in thread

end of thread, other threads:[~2013-05-13 14:46 UTC | newest]

Thread overview: 41+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-05-08 11:38 [PATCH v7 00/10] interactive git clean Jiang Xin
2013-05-08 11:38 ` [PATCH v7 01/10] Add support for -i/--interactive to git-clean Jiang Xin
2013-05-08 11:38   ` [PATCH v7 02/10] Show items of interactive git-clean in columns Jiang Xin
2013-05-08 11:38     ` [PATCH v7 03/10] Add colors to interactive git-clean Jiang Xin
2013-05-08 11:38       ` [PATCH v7 04/10] git-clean: use a git-add-interactive compatible UI Jiang Xin
2013-05-08 11:38         ` [PATCH v7 05/10] git-clean: interactive cleaning by select numbers Jiang Xin
2013-05-08 11:38           ` [PATCH v7 06/10] git-clean: rm -i style interactive cleaning Jiang Xin
2013-05-08 11:38             ` [PATCH v7 07/10] git-clean: update document for interactive git-clean Jiang Xin
2013-05-08 11:38               ` [PATCH v7 08/10] git-clean refactor: save some options in clean_flags Jiang Xin
2013-05-08 11:38                 ` [PATCH v7 09/10] git-clean refactor: wrap in scan_clean_candidates Jiang Xin
2013-05-08 11:38                   ` [PATCH v7 10/10] git-clean: change clean flags in interactive mode Jiang Xin
2013-05-08 17:02         ` [PATCH v7 04/10] git-clean: use a git-add-interactive compatible UI Junio C Hamano
2013-05-12 17:15       ` [PATCH v7 03/10] Add colors to interactive git-clean Matthieu Moy
2013-05-13  2:47         ` Jiang Xin
2013-05-13  5:28           ` Junio C Hamano
2013-05-13  6:57           ` Matthieu Moy
2013-05-08 17:02     ` [PATCH v7 02/10] Show items of interactive git-clean in columns Junio C Hamano
2013-05-12 17:09     ` Matthieu Moy
2013-05-08 16:57   ` [PATCH v7 01/10] Add support for -i/--interactive to git-clean Junio C Hamano
2013-05-09 16:35     ` Jiang Xin
2013-05-09 17:14       ` [PATCH v8 00/12] Interactive git clean Jiang Xin
2013-05-09 17:14       ` [PATCH v8 01/12] git-clean refactor: hold cleaning items in del_list Jiang Xin
2013-05-09 17:14       ` [PATCH v8 02/12] git-clean: add support for -i/--interactive Jiang Xin
2013-05-09 17:14       ` [PATCH v8 03/12] git-clean: show items of del_list in columns Jiang Xin
2013-05-09 17:14       ` [PATCH v8 04/12] git-clean: add colors to interactive git-clean Jiang Xin
2013-05-09 17:14       ` [PATCH v8 05/12] git-clean: use a git-add-interactive compatible UI Jiang Xin
2013-05-09 17:14       ` [PATCH v8 06/12] git-clean: add filter by pattern interactive action Jiang Xin
2013-05-09 17:14       ` [PATCH v8 07/12] git-clean: add select by numbers " Jiang Xin
2013-05-09 17:14       ` [PATCH v8 08/12] git-clean: add ask each " Jiang Xin
2013-05-09 17:14       ` [PATCH v8 09/12] git-clean refactor: save some options in clean_flags Jiang Xin
2013-05-09 17:14       ` [PATCH v8 10/12] git-clean refactor: add wrapper scan_clean_candidates Jiang Xin
2013-05-09 17:14       ` [PATCH v8 11/12] git-clean: add toggle flags interactive action Jiang Xin
2013-05-09 17:14       ` [PATCH v8 12/12] git-clean: update document for interactive git-clean Jiang Xin
2013-05-12 16:54   ` [PATCH v7 01/10] Add support for -i/--interactive to git-clean Matthieu Moy
2013-05-13 14:46     ` Jiang Xin
2013-05-08 15:15 ` [PATCH v7 00/10] interactive git clean Eric Sunshine
2013-05-08 15:18   ` Eric Sunshine
2013-05-08 16:08   ` Junio C Hamano
2013-05-12 17:28     ` Matthieu Moy
2013-05-13  2:34       ` Jiang Xin
2013-05-13  6:55         ` Matthieu Moy

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).