From: Ping Yin <pkufranky@gmail.com>
To: Nicolas Pitre <nico@cam.org>
Cc: Jeff King <peff@peff.net>,
Joshua Jensen <jjensen@workspacewhiz.com>,
git@vger.kernel.org
Subject: Re: Reverting an uncommitted revert
Date: Wed, 20 May 2009 12:58:05 +0800 [thread overview]
Message-ID: <46dff0320905192158k340ece90xd88af53792056b67@mail.gmail.com> (raw)
In-Reply-To: <alpine.LFD.2.00.0905192328310.3906@xanadu.home>
On Wed, May 20, 2009 at 11:35 AM, Nicolas Pitre <nico@cam.org> wrote:
> On Tue, 19 May 2009, Jeff King wrote:
>
>> On Tue, May 19, 2009 at 11:10:14PM -0400, Nicolas Pitre wrote:
>>
>> > > So here's the idea: What if Git, upon a revert change (or git reset --hard
>> > > HEAD), "committed" the changes to be reverted and then did the revert with a
>> > > 'git reset --hard HEAD^'? The reverted files would be disconnected from a
>> > > branch, but they would be available in the reflog to retrieve.
>> >
>> > I think there is indeed some value in having a commit of the work
>> > directory dirty state automatically made before this state is discarded,
>>
>> Related to this, I have wondered if it might be useful to have an "index
>> reflog". If I do something like this:
>>
>> $ git add foo
>> $ hack hack hack
>> $ git add foo
>>
>> Then the first added state of "foo" is available in the object database,
>> but it is not connected to the name "foo" in any way, which makes it
>> much harder to find. If we had a reflog pointing to trees representing
>> the index state after each change, then it would be simple (you could
>> look at "INDEX@{1}:foo" or similar).
>>
>> I don't know if the performance is an issue. We are writing an extra
>> tree every time we touch the index, but in many cases you are already
>> writing a blob.
>
> Well... Actually I think having a reflog dedicated to discarded state
> would probably be a better idea. And...
>
Agree. The issues about losing changes due to wrong operation have
raised many times in the list, such as
git add .
git reset --hard
With reflog for discarded changes, this can be easily recovered.
next prev parent reply other threads:[~2009-05-20 4:58 UTC|newest]
Thread overview: 28+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-05-20 2:34 Reverting an uncommitted revert Joshua Jensen
2009-05-20 3:10 ` Nicolas Pitre
2009-05-20 3:21 ` Jeff King
2009-05-20 3:35 ` Nicolas Pitre
2009-05-20 3:38 ` Jeff King
2009-05-20 4:58 ` Ping Yin [this message]
2009-05-20 9:15 ` Wincent Colaiuta
2009-05-20 10:16 ` Jakub Narebski
2009-05-20 12:53 ` Nicolas Pitre
2009-05-20 14:17 ` Shawn O. Pearce
2009-05-20 16:55 ` Eric Raible
2009-05-20 17:59 ` Junio C Hamano
2009-05-20 18:19 ` Nicolas Pitre
2009-05-20 18:25 ` Nicolas Pitre
2009-05-20 18:57 ` Shawn O. Pearce
2009-05-21 6:16 ` Junio C Hamano
2009-05-20 18:21 ` Jakub Narebski
2009-05-20 15:23 ` Wincent Colaiuta
2009-05-20 15:47 ` Nicolas Pitre
2009-05-20 16:13 ` Sverre Rabbelier
2009-05-20 16:58 ` Jeff King
2009-05-20 18:04 ` Nicolas Pitre
2009-05-20 18:08 ` Sverre Rabbelier
2009-05-21 3:47 ` Jeff King
2009-05-20 17:50 ` Junio C Hamano
2009-05-20 18:27 ` [PATCH] write-tree --ignore-cache-tree Junio C Hamano
2009-05-21 0:40 ` [PATCH 1/2] cache-tree.c::cache_tree_find(): simplify inernal API Junio C Hamano
2009-05-21 0:44 ` [PATCH 2/2] Optimize "diff-index --cached" using cache-tree Junio C Hamano
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=46dff0320905192158k340ece90xd88af53792056b67@mail.gmail.com \
--to=pkufranky@gmail.com \
--cc=git@vger.kernel.org \
--cc=jjensen@workspacewhiz.com \
--cc=nico@cam.org \
--cc=peff@peff.net \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).