From: Eric Sunshine <sunshine@sunshineco.com>
To: Matthieu Moy <Matthieu.Moy@grenoble-inp.fr>
Cc: Jiang Xin <worldhello.net@gmail.com>,
Thomas Rast <trast@inf.ethz.ch>, Git List <git@vger.kernel.org>,
Junio C Hamano <gitster@pobox.com>
Subject: Re: [PATCH v5 0/3] interactive git clean
Date: Mon, 6 May 2013 05:40:06 -0400 [thread overview]
Message-ID: <CAPig+cTSER2ngpGoM-3pwPO3dAnqq+9qCHdVb1YbLg9UgkPF0g@mail.gmail.com> (raw)
In-Reply-To: <vpqli7s8rqp.fsf@grenoble-inp.fr>
Hi Matthieu,
On Mon, May 6, 2013 at 3:58 AM, Matthieu Moy
<Matthieu.Moy@grenoble-inp.fr> wrote:
> Eric Sunshine <sunshine@sunshineco.com> writes:
>
>> The pattern [y] will match file named 'y'. It probably is unusual for
>> files named 'y', 'n', etc. to exist in the top-level directory, but
>> the gitignore patterns already provide an escape hatch for these
>> unusual cases.
>
> But how does the user know that?
Documentation. Junio also mentioned having a '?' in each prompt
explaining the options at that point.
> I'd rather stay away from dwim that works in 99% of cases but do
> something dangerous in the 1% remaining, and complex un-guessable escape
> scheme to solve these few cases. The two stages (yes/no/edit, and then
> escape patterns) is clear, and does not require so many additional
> keystrokes.
The scheme doesn't have to be unsafe. git-clean *knows* which files
are up for deletion. If one of those filenames conflicts with one of
the prompt options, --interactive mode can warn about the ambiguity at
the point the user types that particular ambiguous response, and ask
for clarification ("did you mean 'yes, delete everything' or 'exclude
filename y'?"). You get DWIM for 99.9% of the cases, and an extra
prompt for the other 0.1%. Nothing unsafe. Is such an implementation
more complicated or ugly than the separate 'edit' mode? Is the user
experience better or worse (more or less convenient)? Is it easier or
harder to document and explain?
Another observation which came to mind after my original email:
Would it make sense for --interactive mode to launch an editor with
the list of files scheduled for deletion and allow the user to remove
lines he does not want deleted (similar to "git-rebase
--interactive"). Depending upon case, this could be more or less
convenient than the proposed gitignore-patterned 'edit' mode. It could
be yet another option in the yes/no/prompt/edit menu or it could be
the default and only behavior of "git-clean --interactive" (again
similar to "git-rebase --interactive).
I'm not advocating any particular user interface. The observations and
questions about convenience and user experience both here and in my
original email were made with the hope of promoting discussion before
the interface gets locked in. How clunky or fluid should it be? How
verbose or terse?
-- ES
next prev parent reply other threads:[~2013-05-06 9:40 UTC|newest]
Thread overview: 22+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-05-03 3:49 [PATCH v5 0/3] interactive git clean Jiang Xin
2013-05-03 3:49 ` [PATCH v5 1/3] Add support for -i/--interactive to git-clean Jiang Xin
2013-05-03 3:49 ` [PATCH v5 2/3] Show items of interactive git-clean in columns Jiang Xin
2013-05-03 3:49 ` [PATCH v5 3/3] Add colors to interactive git-clean Jiang Xin
2013-05-03 10:37 ` [PATCH v5 0/3] interactive git clean Eric Sunshine
2013-05-04 1:06 ` Jiang Xin
2013-05-05 12:35 ` Eric Sunshine
2013-05-06 7:58 ` Matthieu Moy
2013-05-06 9:40 ` Eric Sunshine [this message]
2013-05-06 19:18 ` [PATCH v6 0/7] " Jiang Xin
2013-05-06 19:18 ` [PATCH v6 1/7] Add support for -i/--interactive to git-clean Jiang Xin
2013-05-06 19:18 ` [PATCH v6 2/7] Show items of interactive git-clean in columns Jiang Xin
2013-05-06 19:18 ` [PATCH v6 3/7] Add colors to interactive git-clean Jiang Xin
2013-05-06 19:18 ` [PATCH v6 4/7] git-clean: use a git-add-interactive compatible UI Jiang Xin
2013-05-07 4:16 ` Jiang Xin
2013-05-07 15:20 ` Junio C Hamano
2013-05-08 0:28 ` Jiang Xin
2013-05-06 19:18 ` [PATCH v6 5/7] git-clean: interactive cleaning by select numbers Jiang Xin
2013-05-06 19:18 ` [PATCH v6 6/7] git-clean: rm -i style interactive cleaning Jiang Xin
2013-05-06 19:18 ` [PATCH v6 7/7] git-clean: update document for interactive git-clean Jiang Xin
2013-05-07 4:20 ` Jiang Xin
2013-05-03 16:07 ` [PATCH v5 0/3] interactive git clean Junio C Hamano
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=CAPig+cTSER2ngpGoM-3pwPO3dAnqq+9qCHdVb1YbLg9UgkPF0g@mail.gmail.com \
--to=sunshine@sunshineco.com \
--cc=Matthieu.Moy@grenoble-inp.fr \
--cc=git@vger.kernel.org \
--cc=gitster@pobox.com \
--cc=trast@inf.ethz.ch \
--cc=worldhello.net@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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).