From: "Elijah Newren" <newren@gmail.com>
To: "Sam Vilain" <sam@vilain.net>
Cc: "Theodore Tso" <tytso@mit.edu>,
git@vger.kernel.org, "Sam Vilain" <samv@vilain.net>
Subject: Re: [PATCH] Documentation: add a planning document for the next CLI revamp
Date: Sat, 1 Nov 2008 14:27:03 -0600 [thread overview]
Message-ID: <51419b2c0811011327j492b520dq2388fc8972b48cab@mail.gmail.com> (raw)
In-Reply-To: <1225389068.19891.28.camel@maia.lan>
Hi,
(Sorry for sending so many emails, and being late to the conversation.
There's a couple others that I wanted to respond to but I'll wait off
on those and finish with this email to avoid spamming everyone any
more right now.)
On Thu, Oct 30, 2008 at 11:51 AM, Sam Vilain <sam@vilain.net> wrote:
> Well, I don't have strong feelings on the exact command name used; I
> suggested "undo", probably also ambiguous. But still, a significant
> number of users are surprised when they type 'git revert' and they get a
> backed out patch. It's such an uncommon operation, it doesn't deserve
> to be triggered so easily. And reverting files to the state in the
> index and/or HEAD is a common operation that deserves being short to
> type.
>
> Making it plain "revert" would violate expectations of existing users;
> it seems a better idea to just deprecate it, and point the users to the
> new method - cherry-pick --revert - or the command they might have meant
> - whatever that becomes.
There is another option, though it has its own problems too. There
are basically two kinds of reverting here -- reverting all the changes
*in* a given revision (which I'll called 'revert-in') and reverting
all the changes *since* a given revision (typically HEAD; I'll call
this 'revert-since'). These two operations can be supported from the
same command, though their use cases are different enough that it may
seem slightly weird:
revert-since revert-in
* is usually used in a dirty tree * is typically used in a clean tree
* specific paths are usually * specific paths are not often
specified specified
* it is rare to want to commit * making a commit after reverting
immediately after reverting is what you usually want
* it is uncommon to need to
specify a revision
I decided to combine them in EasyGit, simply because that made things
the most discoverable for both existing git and svn/bzr/hg users. The
big problem here is that --commit is turned on by default when --in is
specified, and --no-commit is the default when --since is specified.
Anyway, some examples:
eg revert REVISION => Error -- you must specify either --since or
--in when specifying a revision
eg revert --in REVISION => Same as git revert REVISION
eg revert --since HEAD FILE1 FILE2 => Same as svn revert FILE1 FILE2
eg revert FILE1 FILE2 => shorthand for the previous command; --since
HEAD is default when no revision is specified
eg revert --since HEAD~3 SUBDIRECTORY => should be clear; an extension
over what svn revert can do
Then there's also the possibility that users only want to revert
unstaged changes, or only want to revert staged changes...
Anyway, just some food for thought. I've spammed the list enough in
this thread, so I'll break for now. Thanks for listening.
Elijah
next prev parent reply other threads:[~2008-11-01 20:28 UTC|newest]
Thread overview: 74+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-10-30 3:48 [PATCH] Documentation: add a planning document for the next CLI revamp Sam Vilain
2008-10-30 10:55 ` Stefan Karpinski
2008-10-31 11:38 ` Kyle Moffett
2008-10-30 13:24 ` Pierre Habouzit
2008-10-30 15:25 ` Julian Phillips
2008-10-31 0:34 ` Jeff King
2008-11-02 21:53 ` Junio C Hamano
2008-11-03 13:47 ` Pierre Habouzit
2008-10-30 14:34 ` Nicolas Pitre
2008-10-30 14:52 ` Shawn O. Pearce
2008-10-30 14:59 ` Mike Hommey
2008-10-30 15:01 ` Pierre Habouzit
2008-10-30 16:53 ` Nicolas Pitre
2008-10-30 17:31 ` Sam Vilain
2008-10-30 18:28 ` Nicolas Pitre
2008-10-30 22:46 ` Yann Dirson
2008-10-30 23:28 ` Sam Vilain
2008-10-30 23:55 ` Jakub Narebski
2008-10-31 6:51 ` Sam Vilain
2008-10-31 7:36 ` Jakub Narebski
2008-11-03 8:43 ` Sam Vilain
2008-11-03 12:06 ` Jakub Narebski
2008-11-01 0:37 ` Johannes Schindelin
2008-10-30 14:39 ` Theodore Tso
2008-10-30 14:43 ` Pierre Habouzit
2008-10-30 16:30 ` Theodore Tso
2008-10-30 16:43 ` Pierre Habouzit
2008-10-30 17:44 ` Sam Vilain
2008-10-30 17:03 ` Nicolas Pitre
2008-11-02 6:08 ` Junio C Hamano
2008-11-02 10:09 ` Theodore Tso
2008-10-30 15:02 ` Andreas Ericsson
2008-11-01 19:57 ` Elijah Newren
2008-10-30 15:20 ` Matthieu Moy
2008-10-30 17:00 ` Nicolas Pitre
2008-10-30 17:03 ` Pierre Habouzit
2008-10-30 17:17 ` Nicolas Pitre
2008-10-30 18:06 ` Sam Vilain
2008-11-02 22:17 ` Junio C Hamano
2008-11-03 6:01 ` Sam Vilain
2008-11-01 19:42 ` Elijah Newren
2008-10-30 17:51 ` Sam Vilain
2008-10-30 23:27 ` Theodore Tso
2008-11-01 20:27 ` Elijah Newren [this message]
2008-11-02 1:06 ` Theodore Tso
2008-11-02 4:41 ` Elijah Newren
2008-11-01 19:26 ` Elijah Newren
2008-11-02 22:01 ` Junio C Hamano
2008-11-01 18:36 ` Elijah Newren
[not found] <20081030002239.D453B21D14E@mail.utsl.gen.nz>
2008-10-31 0:31 ` Jeff King
2008-10-31 6:40 ` Sam Vilain
2008-10-31 8:20 ` Pierre Habouzit
2008-11-02 4:18 ` Jeff King
2008-11-02 9:56 ` Theodore Tso
2008-10-31 16:46 ` Johannes Schindelin
2008-11-02 3:42 ` Jeff King
2008-11-02 3:53 ` Jeff King
2008-11-02 22:27 ` Junio C Hamano
2008-11-03 5:59 ` Sam Vilain
2008-11-03 9:48 ` Jakub Narebski
2008-11-03 9:53 ` Sverre Rabbelier
2008-11-04 9:18 ` Dmitry Potapov
2008-11-04 18:10 ` Sam Vilain
2008-11-04 19:46 ` Junio C Hamano
2008-11-05 3:05 ` Jeff King
2008-11-05 6:40 ` Junio C Hamano
2008-11-05 22:53 ` Dmitry Potapov
2008-11-03 6:56 ` Jeff King
2008-11-03 6:59 ` Jeff King
2008-11-03 9:25 ` Pierre Habouzit
2008-11-03 23:33 ` Junio C Hamano
2008-11-04 0:02 ` Pierre Habouzit
2008-11-04 0:44 ` Junio C Hamano
2008-11-04 5:20 ` Jeff King
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=51419b2c0811011327j492b520dq2388fc8972b48cab@mail.gmail.com \
--to=newren@gmail.com \
--cc=git@vger.kernel.org \
--cc=sam@vilain.net \
--cc=samv@vilain.net \
--cc=tytso@mit.edu \
/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).