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

From: Junio C Hamano <[email-masked]>
Date: Wed, 25 Jun 2008 02:23:31 -0700

Boaz Harrosh <[email-masked]> writes:

> Junio C Hamano wrote:
> 
>> "reset --hard" has *ALWAYS* meant to be destructive --- discarding
>> potential local cruft is the whole point of the operation.
>
> I was under the impression that --hard means working-directory-also
> as opposed to tree-and-index-only. Nothing to do with 
> destructive-discarding.

Then you should revise your impression, as it is simply *WRONG*.  When
I say something about history of git, I know what I am talking about ;-)

Reset has been about nuking local changes from the very beginning.  That
is why it removes MERGE_HEAD, rr-cache/MERGE_RR as well as removing
conflicted stages in the index and reverts local changes from the worktree.

It is "my worktree state is a mess, and I cannot even describe nor care
which paths are dirty --- just get rid of the local changes so that I can
start working cleanly from a checkout of HEAD".