From: Andreas Ericsson <ae@op5.se>
To: Junio C Hamano <junkio@cox.net>
Cc: git@vger.kernel.org
Subject: Re: Resetting paths
Date: Fri, 10 Feb 2006 12:44:48 +0100 [thread overview]
Message-ID: <43EC7CB0.5040804@op5.se> (raw)
In-Reply-To: <7vlkwjzv0w.fsf@assigned-by-dhcp.cox.net>
Junio C Hamano wrote:
>
> While I worked on parts of the system that deals with the cached
> lstat() information, I needed a way to debug that, so I hacked
> ls-files -t option to show entries marked as "always matches the
> index" with lowercase tag letters. This was primarily debugging
> aid hack.
>
> Then I committed the whole thing with "git commit -a" by
> mistake. In order to rewind the HEAD to pre-commit state, I can
> say "git reset --soft HEAD^", but after doing that, now I want
> to unupdate the index so that ls-files.c matches the pre-commit
> HEAD.
>
>
> Have people found themselves in similar need like this? This
> could take different forms.
>
Sometimes, yes.
> * you did "git update-index" on a wrong path. This is my
> example and the above voodoo is a recipe for recovery.
>
> * you did "git add" on a wrong path and you want to remove it.
> This is easier than the above:
>
> git update-index --force-remove path
>
> * you did the above recovery from "git add" on a wrong path,
> and you want to add it again. The same voodoo would work in
> this case as well.
>
> git ls-tree HEAD path | git update-index --index-info
>
> We could add "git reset path..." to reduce typing for the above,
> but I am wondering if it is worth it.
>
How about "git update-index --undo path...", possibly with "git reset
path..." as a shorthand. Support for temporary indexes already exist, so
it should be a simple (and atomic) operation of copying it out with the
paths mentioned skipped, and then overwriting the current index. I'm not
sure how well it would perform on very large repositories, but having a
snappish command to undo a blunder is usually welcome even if it takes
half a minute or more to run.
--
Andreas Ericsson andreas.ericsson@op5.se
OP5 AB www.op5.se
Tel: +46 8-230225 Fax: +46 8-230231
next prev parent reply other threads:[~2006-02-10 11:45 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2006-02-10 4:40 Resetting paths Junio C Hamano
2006-02-10 11:44 ` Andreas Ericsson [this message]
2006-02-11 5:18 ` 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=43EC7CB0.5040804@op5.se \
--to=ae@op5.se \
--cc=git@vger.kernel.org \
--cc=junkio@cox.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).