I started a thread a while back about repository corruption. It manifested as a clone error and the thread is here: http://kerneltrap.org/mailarchive/git/2007/7/31/253475 I just ran, again, into corruption after my laptop kernel-panic'd. (Ironically, at the moment I ran into the corruption I was trying to push my repo to a backup location.) Since that thread took place it seems a section about recovering from repo corruption was added to the manual --- but it assumes you can (or care to painstakingly) recreate each corrupted version. I made several changes to one file, home.html, and now have the following corruption: identity.corrupt[56] > git fsck --full error: 320bd6e82267b71dd2ca7043ea3f61dbbca16109: object corrupt or missing error: 4d0be2816d5eea5ae2b40990235e2225c1715927: object corrupt or missing missing blob 320bd6e82267b71dd2ca7043ea3f61dbbca16109 missing blob 4d0be2816d5eea5ae2b40990235e2225c1715927 I know which commits these hashes correspond to, and I know roughly what I did in those commits, but, I really don't care that much, and anyway it will be painful to recreate them because of whitespace/formatting issues. Here are the commits, in case it is relevant: commit 163a93df14d246dee91c3a503e6372b8313f337d Author: Denis Bueno <dbueno@xxxxxxxxx> Date: Tue Jun 10 09:45:41 2008 -0400 Add lambda-the-ultimate link :100644 100644 320bd6e... 2ab4775... M home.html [... intervenent commits ...] commit 4737fea59fdc8325e09b5206cc7a6ac593446ce3 Author: Denis Bueno <dbueno@xxxxxxxxx> Date: Tue Jun 10 09:37:12 2008 -0400 Hoogle up top too :100644 100644 4d0be28... c6fe111... M home.html Assuming I can't recreate the hashed files, what are my options? I was told in the thread above that I could use grafts and "git filter-branch" to create a new repository that simply got rid of the offending object. That case was simpler, as it was the initial import of a file that had only two commits total that was corrupted. However, in this case there are changes between the initial and latest version of the file, and commits between the corrupted versions, so, I can imagine that it would be hard to get rid of in-between commits. The thing that makes sense intuitively (read: not as a Git expert, but as a user) is to just let me replace the commits associated with the problematic objects with new versions of those commits (e.g. make change described in the commit message, which is different from the actual change that was recorded, due to whitespace/formatting issues). Is this what I should do? And to do so, should I be reading chapter 5 of the manual? Thanks. -- Denis -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html