I was happily using Git - made some commits a couple of nights ago, which are reflected in the remote repo. Last night I opened up Smartgit Hg and it tells me there are missing
For me, a simple git gc did the job... This gave me a couple of rm: cannot unlink ... Permission denied messages. But in the end, it seemed to have worked for my case.
But probably depends on how exactly the repo is corrupted.