From: Junio C Hamano Date: Tue, 22 Nov 2005 05:24:01 GMT Subject: Re: index manipulation -- how? Message-ID: <7v8xvhi7bi.fsf@assigned-by-dhcp.cox.net> In-Reply-To: <20051122050337.46450.qmail@web31808.mail.mud.yahoo.com> Luben Tuikov writes: > How do I reverse a _single_ "git-update-index" operation? > Be it --add or just an update. Reverting working tree files are "git checkout HEAD the-file" (both index and working tree file from the head commit) or "git checkout -- the-file" (working tree file from the index), but I do not think there is a prepackaged way to revert only a single index path offhand. git-ls-tree HEAD the-file | sed -e 's/^\([0-7]*\) [^ ]* \(.*\)/\1 \2/' | git-update-index --index-info should work. I think changing update-index --index-info so that you can lose the sed in between without breaking its other usage (it reads from git-apply --index-info, which does not say " blob " which is what the sed is stripping out) is a worthwhile thing to do.