public inbox for git@vger.kernel.org 
 help / color / mirror / Atom feed
From: Sam Vilain <sam@vilain•net>
To: Junio C Hamano <gitster@pobox•com>
Cc: Pierre Habouzit <madcoder@debian•org>,
	Nicolas Pitre <nico@cam•org>, Matthieu Moy <Matthieu.Moy@imag•fr>,
	Theodore Tso <tytso@mit•edu>,
	git@vger•kernel.org
Subject: Re: [PATCH] Documentation: add a planning document for the next CLI revamp
Date: Mon, 03 Nov 2008 19:01:11 +1300	[thread overview]
Message-ID: <1225692071.20883.44.camel@maia.lan> (raw)
In-Reply-To: <7vabch22ou.fsf@gitster.siamese.dyndns.org>

On Sun, 2008-11-02 at 14:17 -0800, Junio C Hamano wrote:
> I'd agree that 'reset' is rather unfortunate.  It very originally was all
> about the index (the "mixed" semantics, specifically "git reset" without
> any committish nor any pathspec, was the original use case) and nothing
> else.  IOW, "I staged a wrong change, let's start over by discarding all
> staged changes".  A logical extension to it is "git reset -- pathspec",
> IOW, "I know which paths I fubared, please reset only these paths, as
> other staged changes are Ok".
> 
> So "reset <file>" is very much useful.
> 
> Then 'reset' learned to also muck with HEAD, so "reset HEAD^" (still
> mixed, without any pathspec) can be used to amend the latest commit but
> without losing the state you would eventually want to arrive at.  A
> logical extension to this was "git reset --hard HEAD^" to nuking instead
> of amending the mistake, and "git reset --soft HEAD^" to save the trouble
> of staging the changes when the mistake you are fixing is small compared
> to the entire change.
> 
> "checkout [$committish] $path" came much later, and the command is all
> about index and files, and never about resetting HEAD.  "checkout $path"
> does "reset --hard $path" (notice there is no $committish in either one)
> would have done, so we stopped enhancing the "reset" command in that
> direction.

Interesting.

I'm wondering whether the important thing here is not making a new
command, but simply deprecating "revert", and pointing the user to "git
reset" - then making sure that you can do everything revert-like (eg, as
Elijah points out) from that command.

Sam.

  reply	other threads:[~2008-11-03  6:02 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 [this message]
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
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=1225692071.20883.44.camel@maia.lan \
    --to=sam@vilain$(echo .)net \
    --cc=Matthieu.Moy@imag$(echo .)fr \
    --cc=git@vger$(echo .)kernel.org \
    --cc=gitster@pobox$(echo .)com \
    --cc=madcoder@debian$(echo .)org \
    --cc=nico@cam$(echo .)org \
    --cc=tytso@mit$(echo .)edu \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html
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