Hi John, thanks for the help. Jonathan Nieder <jrnieder@xxxxxxxxx> writes: > tom fogal wrote: > > > Long story short, I lost some metadata in a repo I've got. > > However, my entire .git/objects/ && subdirs is intact, so I'm > > hopeful my data's still accessible in some form. Turns out I'm dumber than I thought =(. I had a lot of trouble with trees seemingly becoming invalid after a bit... my shell history's got an rm -r and deleted a lone packfile before I thought "what the hell am I doing?!" and stopped, so that must be it. > Here's what I'd suggest. [snip] The repository-layout info and the lost-found option to fsck were both new to me, and quite useful. Thanks! Where I'm at now: through lost-found, mucking with metadata enough that git-log and format-patch work, and re-creating a repo to apply patches onto, I've got a lot of my work back. There's a 3 or 4 week gap though, and of course git has trouble dealing with that; some of my "patches" actually add entire files and the like. If I git cat-file -p all of the `commit' and `blob' sha1's in .git/objects, it looks to me like all my code is there, I just need to get it out somehow. My thought is to cat-file all my commits, filter out the ones which are upstream, order them by date, and git-am them back into a repo. Some of my data only exist in blobs, though... maybe git-diff-tree can get me the patch I need? Not quite sure what to diff it with, though... maybe the most-recent sha1 I have, based on date? Other ideas would certainly be welcome! -tom -- 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