git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: [PATCH v5 0/3] interactive git clean

From
Jiang Xin <worldhello.net@gmail.com>
Date
May 4, 2013, 01:06 UTC
Message-ID
<CANYiYbG5q7g-Gn-EGtsgS4XYLbQJuY6Pr_6FgKknADTD5_KoTg@mail.gmail.com>
In-Reply-To
<CAPig+cQALgr_VXwG5jBiFVTM627se8zQz7vsmF=A9OLcp_GT9A@mail.gmail.com>
2013/5/3 Eric Sunshine <sunshine@sunshineco.com>:
Show 14 quoted lines
>>     WARNING: The following items will be removed permanently. Press "y"
>>     WARNING: to start cleaning, and press "n" to abort the cleaning.
>>     WARNING: You can also enter the "edit" mode, and select items
>>     WARNING: to be excluded from the cleaning.
>
> The user intended for files to be removed when invoking git-clean,
> therefore WARNING that git-clean will do what was requested explicitly
> seems overkill. Along the same lines, the user asked explicitly for an
> interactive session (via --interactive), hence the above paragraph is
> effectively redundant since it does little more than tell the user (in
> a lengthy fashion) what he already knows (that the session is
> interactive). The short prompt printed after the listed files says the
> same thing (more succinctly), thus this warning paragraph is
> essentially superfluous.
I will try to make the header short, and not too scary.
Show 9 quoted lines
>> In this confirmation dialog, the user has three choices:
>>
>>  * Yes: Start to do cleaning.
>>  * No:  Nothing will be deleted.
>>  * Edit (default for the first time): Enter the edit mode.
>
> What about the user who desires more traditional "rm -i" behavior in
> which he is prompted for each file? Should that be supported with a
> "Prompt [each]" option in the above menu?

I'd like to have a try. Maybe I can borrow code/interface from git-add--interactive.perl to support both (batch exclude and confirm one by one). For example:

*** Would remove the following item(s) ***
    files to be removed...     files to be removed...
    files to be removed...     files to be removed...
    files to be removed...     files to be removed...
*** Commands ***
    1. [y]es, clean    2. [n]o, quit    3. batch [e]xclude
4.[c]onfirm one by one
What now> e
input ignore patterns>> * ![a-c]*
    files to be removed...     files to be removed...
    files to be removed...     files to be removed...
Input ignore patterns>> ENTER
*** Would remove the following item(s) ***
    files to be removed...     files to be removed...
    files to be removed...     files to be removed...
*** Commands ***
    1. [y]es, clean    2. [n]o, quit    3. batch [e]xclude
4.[c]onfirm one by one
What now> y

Removing ... Removing ...

Show 13 quoted lines
> More generally, is this sort of modal edit mode desirable and
> convenient? Can the edit operation be combined with the top-level
> prompt? For example:
>
>   % git clean -i
>   file1 file2 file3
>   file4 file5 file6
>   Remove ([y]es, [n]o, [p]rompt, exclusion-list)? file[4-6]
>   file1 file2 file3
>   Remove ([y]es, [n]o, [p]rompt, exclusion-list)? p
>   file1 (y/n/q/!)? y
>   file2 (y/n/q/!)? n
>   file3 (y/n/q/!)? y

What If there is a file named 'y', and the user want to exclude it, and press 'y' as a pattern.

-- Jiang Xin

Previous: Eric SunshineNext: Eric Sunshine
Message 6 of 22 in “interactive git clean”
  1. 0/3 interactive git cleanJiang Xin, May 3, 2013
  2. 1/3 Add support for -i/--interactive to git-cleanJiang Xin, May 3, 2013
  3. 2/3 Show items of interactive git-clean in columnsJiang Xin, May 3, 2013
  4. 3/3 Add colors to interactive git-cleanJiang Xin, May 3, 2013
  5. Eric SunshineMay 3, 2013
  6. Jiang XinMay 4, 2013
  7. Eric SunshineMay 5, 2013
  8. Matthieu MoyMay 6, 2013
  9. Eric SunshineMay 6, 2013
  10. 0/7 interactive git cleanJiang Xin, May 6, 2013
  11. 1/7 Add support for -i/--interactive to git-cleanJiang Xin, May 6, 2013
  12. 2/7 Show items of interactive git-clean in columnsJiang Xin, May 6, 2013
  13. 3/7 Add colors to interactive git-cleanJiang Xin, May 6, 2013
  14. 4/7 git-clean: use a git-add-interactive compatible UIJiang Xin, May 6, 2013
  15. 5/7 git-clean: interactive cleaning by select numbersJiang Xin, May 6, 2013
  16. 6/7 git-clean: rm -i style interactive cleaningJiang Xin, May 6, 2013
  17. 7/7 git-clean: update document for interactive git-cleanJiang Xin, May 6, 2013
  18. Jiang XinMay 7, 2013
  19. Jiang XinMay 7, 2013
  20. Junio C HamanoMay 7, 2013
  21. Jiang XinMay 8, 2013
  22. Junio C HamanoMay 3, 2013

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.