Re: [PATCH] cmd_reset: don't trash uncommitted changes unless told to
- Date: Thu, 26 Jun 2008 00:44:28 +0200
- From: Petr Baudis <pasky@xxxxxxx>
- Subject: Re: [PATCH] cmd_reset: don't trash uncommitted changes unless told to
On Wed, Jun 25, 2008 at 04:38:22PM -0400, Theodore Tso wrote:
> On Wed, Jun 25, 2008 at 04:04:47PM -0400, Avery Pennarun wrote:
> > How about making "git checkout" default to HEAD if no revision is
> > supplied? There's precedent for this in, say, git-diff (and I think a
> > few others).
> >
> > Incidentally, "checkout <filename>" was also the way to do a revert
> > operation in CVS. And the way to switch branches, too, iirc. So git
> > isn't being too unusual here. That said, the commands were
> > deliberately renamed in svn because CVS was considered largely insane.
>
> The one thing I would worry about is the potential ambiguity if you do
> something like "git checkout FOOBAR", and FOOBAR was both a branch
> name as well as a file name. How should it be interpreted? I'd argue
> the real problem was we conflated two distinct operations: "switching
> to a new branch", and "reverting a file" to the same name, checkout.
>
> Hence the suggestion to add a new command, "git revert-file", where
> there would be no ambiguity.
Just to chime in, this reminds me of Cogito - it had cg-switch for
switching branches (like git checkout) and cg-restore for restoring
files in working copy (like git checkout, too; but you would pass -f if
you wanted to overwrite existing copy).
(Though, Cogito didn't quite get it right either since it tried to
overload cg-switch with the git branch functionality of creating new
branches. I still didn't quite come in terms with any UI model of the
branches I know about.)
--
Petr "Pasky" Baudis
The last good thing written in C++ was the Pachelbel Canon. -- J. Olson
--
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