All of lore.kernel.org
 help / color / mirror / Atom feed
From: Theodore Tso <tytso@MIT.EDU>
To: Florian Weimer <fw@deneb.enyo.de>
Cc: git@vger.kernel.org
Subject: Re: What I miss from Cogito...
Date: Sun, 23 Mar 2008 20:16:17 -0400	[thread overview]
Message-ID: <20080324001617.GB24943@mit.edu> (raw)
In-Reply-To: <87r6e1b6c8.fsf@mid.deneb.enyo.de>

On Sun, Mar 23, 2008 at 08:14:47PM +0100, Florian Weimer wrote:
> 
> Personally, I'm not all that happy with the multiple different meanings
> of "git reset" and "git checkout", either.  Depending on the parameters,
> the two comments manipulate both the contents of the working copy, or
> the location at which the working copy is hooked in the history.  If we
> need to have two separate commands for this, it would make more sense to
> draw distinction between the two aspects, and not the mess we have now.
> OTOH, it's probably too late for that.

Yeah, it's not at all intuitive.  I've been using git for quite some
time and had *absolutely* *no* *idea* that "git checkout <treeish> --
path" did what "bk revert" and "hg revert" does.  In fact, I'm pretty
sure I remember asking for this functionality a while back, and being
told the right answer was "git show HEAD:pathname > pathname", and I
kept on typing it until I got sick and tired of it, and so I created
my short-hand shell script.  

And the fact that Peter was using "git reset --hard -- pathname" is
another hint that it isn't at *all* obvious that "git checkout" does
two completely different things, and it's not something that you're
likely to intuit from the name or looking at the top-level git man
page (where the summary in the top-level git manpage is, "checkout and
switch to a branch").

If we were going to separate the two commands out, I'd use the name
"git revert-file", because that's what people who are coming from bk
or hg are used to (where "revert" means to undo the local edits done
to a particular file, as opposed to the git meaning of undoing a
particular commit).

						- Ted

  reply	other threads:[~2008-03-24  0:17 UTC|newest]

Thread overview: 23+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-03-23 17:15 What I miss from Cogito H. Peter Anvin
2008-03-23 17:38 ` Theodore Tso
2008-03-23 17:46   ` H. Peter Anvin
2008-03-27  2:36     ` Petr Baudis
2008-03-23 18:21   ` Luciano Rocha
2008-03-23 19:00     ` Mike Hommey
2008-03-23 19:07       ` Bruce Stephens
2008-03-23 19:07       ` Mike Hommey
2008-03-23 19:14     ` Florian Weimer
2008-03-24  0:16       ` Theodore Tso [this message]
2008-03-24  1:40         ` Björn Steinbrink
2008-03-24  2:14           ` Theodore Tso
2008-03-24  2:53             ` Junio C Hamano
2008-03-24  3:06               ` [PATCH] Documentation/git-checkout: Update summary to reflect current abilities Julian Phillips
2008-03-24 16:49                 ` Junio C Hamano
2008-03-24  3:06                   ` Julian Phillips
2008-03-24  2:57             ` What I miss from Cogito Björn Steinbrink
2008-03-23 18:31 ` Johannes Schindelin
2008-03-23 18:34 ` Junio C Hamano
2008-03-23 18:58   ` H. Peter Anvin
2008-03-23 18:59     ` Junio C Hamano
2008-03-23 19:16 ` Daniel Barkalow
2008-03-23 19:19   ` H. Peter Anvin

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=20080324001617.GB24943@mit.edu \
    --to=tytso@mit.edu \
    --cc=fw@deneb.enyo.de \
    --cc=git@vger.kernel.org \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.