Thread (11 messages) flat view 11 messages, 6 authors, 2016-06-15

Re: [PATCH] cmd_reset: don't trash uncommitted changes unless told to

From: Johannes Schindelin <hidden>
Date: 2016-06-15 22:44:50

Hi,

On Thu, 26 Jun 2008, Petr Baudis wrote:
On Wed, Jun 25, 2008 at 04:38:22PM -0400, Theodore Tso wrote:
quoted
On Wed, Jun 25, 2008 at 04:04:47PM -0400, Avery Pennarun wrote:
quoted
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).
Yeah, I was kinda disappointed that this part of Cogito never was picked 
up by Git "core".

I really liked the fact that Cogito was a test-bed for UI enhancements, 
and miss it a bit.  It was nice how it drove the UI enhancements of Git, 
and I am a little sad that Cogito was discontinued.  (And no, I do not see 
any contender picking up the task of driving Git's UI in the right 
direction.)
 
(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.)
To the contrary, I think that "git branch --create <branch>" _should_ 
switch to the newly created branch.  That is what users expect, and Cogito 
got that right.

Ciao,
Dscho
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help