* index file screwed up @ 2005-09-28 15:06 Chuck Lever 2005-09-28 15:37 ` Linus Torvalds 0 siblings, 1 reply; 3+ messages in thread From: Chuck Lever @ 2005-09-28 15:06 UTC (permalink / raw) To: git [-- Attachment #1: Type: text/plain, Size: 949 bytes --] i was working with a version of git that had a bug in add_cache_entry() that introduced a sorting error in my index. [cel@dexter main]$ stg refresh -f Refreshing patch "git-switch-branch"...AUTHORS: unmerged (098c1d3e9fe5c39b859ccff6c7d36d2c193d1b62) AUTHORS: unmerged (098c1d3e9fe5c39b859ccff6c7d36d2c193d1b62) COPYING: unmerged (d60c31a97a544b53039088d14fe9114583c0efc3) COPYING: unmerged (d60c31a97a544b53039088d14fe9114583c0efc3) INSTALL: unmerged (8d2bebd9d1824f1b7af5cfe6fbd11f9cbfde6d74) INSTALL: unmerged (8d2bebd9d1824f1b7af5cfe6fbd11f9cbfde6d74) MANIFEST.in: unmerged (581d0be2a5fb3569b06681b7d559f1279aa4104b) MANIFEST.in: unmerged (581d0be2a5fb3569b06681b7d559f1279aa4104b) README: unmerged (184ded8e08cb92a14b79c79f9919469ba352ab70) README: unmerged (184ded8e08cb92a14b79c79f9919469ba352ab70) ... fatal: git-write-tree: verify_merged: not able to write tree stg refresh: git-write-tree failed [cel@dexter main]$ how do i recover? [-- Attachment #2: cel.vcf --] [-- Type: text/x-vcard, Size: 439 bytes --] begin:vcard fn:Chuck Lever n:Lever;Charles org:Network Appliance, Incorporated;Linux NFS Client Development adr:535 West William Street, Suite 3100;;Center for Information Technology Integration;Ann Arbor;MI;48103-4943;USA email;internet:cel@citi.umich.edu title:Member of Technical Staff tel;work:+1 734 763 4415 tel;fax:+1 734 763 4434 tel;home:+1 734 668 1089 x-mozilla-html:FALSE url:http://www.monkey.org/~cel/ version:2.1 end:vcard ^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: index file screwed up 2005-09-28 15:06 index file screwed up Chuck Lever @ 2005-09-28 15:37 ` Linus Torvalds 2005-09-28 17:43 ` Chuck Lever 0 siblings, 1 reply; 3+ messages in thread From: Linus Torvalds @ 2005-09-28 15:37 UTC (permalink / raw) To: Chuck Lever; +Cc: git On Wed, 28 Sep 2005, Chuck Lever wrote: > > i was working with a version of git that had a bug in add_cache_entry() > that introduced a sorting error in my index. > > [cel@dexter main]$ stg refresh -f > Refreshing patch "git-switch-branch"...AUTHORS: unmerged > (098c1d3e9fe5c39b859ccff6c7d36d2c193d1b62) > AUTHORS: unmerged (098c1d3e9fe5c39b859ccff6c7d36d2c193d1b62) > COPYING: unmerged (d60c31a97a544b53039088d14fe9114583c0efc3) > COPYING: unmerged (d60c31a97a544b53039088d14fe9114583c0efc3) > INSTALL: unmerged (8d2bebd9d1824f1b7af5cfe6fbd11f9cbfde6d74) > INSTALL: unmerged (8d2bebd9d1824f1b7af5cfe6fbd11f9cbfde6d74) > MANIFEST.in: unmerged (581d0be2a5fb3569b06681b7d559f1279aa4104b) > MANIFEST.in: unmerged (581d0be2a5fb3569b06681b7d559f1279aa4104b) > README: unmerged (184ded8e08cb92a14b79c79f9919469ba352ab70) > README: unmerged (184ded8e08cb92a14b79c79f9919469ba352ab70) > ... > fatal: git-write-tree: verify_merged: not able to write tree > stg refresh: git-write-tree failed > > [cel@dexter main]$ > > how do i recover? You don't. Your index is toast. Let's hope you didn't write any unsorted trees with _earlier_ (non-merge) commits. Do this: - build a new and trustworthy git somewhere else (from a tar-file if nothing else). Install it. - get rid of the index and any half-way data in your working tree (you might want to save any diffs with "git diff HEAD" first, but I suspect you don't really care, since the changes came from some stg stuff, so you can always re-create them, no?) git reset --hard HEAD - run fsck, to verify that all your trees are sorted (if they aren't, you be screwed, but "git-convert-objects" should be able to fix it for you - possibly with some additional logic). git-fsck-objects --full - restart and try again. That _should_ get you running again. Linus ^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: index file screwed up 2005-09-28 15:37 ` Linus Torvalds @ 2005-09-28 17:43 ` Chuck Lever 0 siblings, 0 replies; 3+ messages in thread From: Chuck Lever @ 2005-09-28 17:43 UTC (permalink / raw) To: Linus Torvalds; +Cc: git [-- Attachment #1: Type: text/plain, Size: 2720 bytes --] Linus Torvalds wrote: > > On Wed, 28 Sep 2005, Chuck Lever wrote: > >>i was working with a version of git that had a bug in add_cache_entry() >>that introduced a sorting error in my index. >> >>[cel@dexter main]$ stg refresh -f >>Refreshing patch "git-switch-branch"...AUTHORS: unmerged >>(098c1d3e9fe5c39b859ccff6c7d36d2c193d1b62) >>AUTHORS: unmerged (098c1d3e9fe5c39b859ccff6c7d36d2c193d1b62) >>COPYING: unmerged (d60c31a97a544b53039088d14fe9114583c0efc3) >>COPYING: unmerged (d60c31a97a544b53039088d14fe9114583c0efc3) >>INSTALL: unmerged (8d2bebd9d1824f1b7af5cfe6fbd11f9cbfde6d74) >>INSTALL: unmerged (8d2bebd9d1824f1b7af5cfe6fbd11f9cbfde6d74) >>MANIFEST.in: unmerged (581d0be2a5fb3569b06681b7d559f1279aa4104b) >>MANIFEST.in: unmerged (581d0be2a5fb3569b06681b7d559f1279aa4104b) >>README: unmerged (184ded8e08cb92a14b79c79f9919469ba352ab70) >>README: unmerged (184ded8e08cb92a14b79c79f9919469ba352ab70) >>... >>fatal: git-write-tree: verify_merged: not able to write tree >>stg refresh: git-write-tree failed >> >>[cel@dexter main]$ >> >>how do i recover? > > > You don't. Your index is toast. > > Let's hope you didn't write any unsorted trees with _earlier_ (non-merge) > commits. well, i did get this working, but i "cheated." first i switched back to a known good version of git. then, before i received your advice, i replaced the damaged index file with a file system snapshot backup from a couple of hours earlier. after a couple of "stg refresh" commands, things seem back to normal. it could be useful to have a few backup versions of the index file (like index.1, index.2, etc) and have write-tree rotate them before writing out a new index. btw, the git version was my own, using a trie/list cache. it mostly works, except for this little sorting bug. > Do this: > > - build a new and trustworthy git somewhere else (from a tar-file if > nothing else). Install it. > > - get rid of the index and any half-way data in your working tree (you > might want to save any diffs with "git diff HEAD" first, but I suspect > you don't really care, since the changes came from some stg stuff, so > you can always re-create them, no?) > > git reset --hard HEAD > > - run fsck, to verify that all your trees are sorted (if they aren't, you > be screwed, but "git-convert-objects" should be able to fix it for > you - possibly with some additional logic). > > git-fsck-objects --full > > - restart and try again. > > That _should_ get you running again. > > Linus > - > To unsubscribe from this list: send the line "unsubscribe git" in > the body of a message to majordomo@vger.kernel.org > More majordomo info at http://vger.kernel.org/majordomo-info.html [-- Attachment #2: cel.vcf --] [-- Type: text/x-vcard, Size: 439 bytes --] begin:vcard fn:Chuck Lever n:Lever;Charles org:Network Appliance, Incorporated;Linux NFS Client Development adr:535 West William Street, Suite 3100;;Center for Information Technology Integration;Ann Arbor;MI;48103-4943;USA email;internet:cel@citi.umich.edu title:Member of Technical Staff tel;work:+1 734 763 4415 tel;fax:+1 734 763 4434 tel;home:+1 734 668 1089 x-mozilla-html:FALSE url:http://www.monkey.org/~cel/ version:2.1 end:vcard ^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2005-09-28 17:43 UTC | newest] Thread overview: 3+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2005-09-28 15:06 index file screwed up Chuck Lever 2005-09-28 15:37 ` Linus Torvalds 2005-09-28 17:43 ` Chuck Lever
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).