2013/5/3 Eric Sunshine <sunshine@xxxxxxxxxxxxxx>: >> 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. >> 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 ... > 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 -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html