Eu cometi o erro de apagar todo o diretório do meu projeto com um rápido "rm -rf project".
Claro, o diretório .hg foi com ele. Eu tinha cerca de 15 a 20 changesets, que eu não fiz nada para ninguém, e eu realmente gostaria de ter esses backs.
O sistema é uma máquina Ubuntu, e o partiton onde a exclusão aconteceu é ext3, o projeto consiste principalmente em arquivos PHP.
Eu sei da diretriz para não gravar no disco em questão.
A primeira idéia foi usar a ferramenta chamada bisturi, para recuperar os arquivos PHP e diferenciá-los com a versão atual do repositório, e de alguma forma copiar as mudanças. Embora tenha conseguido, ele não recuperou os nomes dos arquivos (ou há um switch que está faltando), então eu fiquei com alguns milhares de arquivos .php sequencialmente nomeados, vasculhando-os não é uma opção.
Pode uma alma gentil, por favor, me salvar, e sugerir uma maneira de:
a) obtenha o repo de volta ou
b) recupere os arquivos, com nomes de arquivos
Para aqueles que se perguntam como eu fiz uma coisa tão estúpida:
Eu estava trabalhando em um arquivo no Vim que queria remover do repositório:
:! hg rm%
Isso se queixou de que o arquivo está em um subrepositório, então eu especifiquei o seguinte:
:! hg rm% -R motor
que reclamou que o arquivo tem modificações, use -f para forçar. E isso é quando, de alguma forma, eu inventei o seguinte comando:
: rm -rf% -R engine
De alguma forma, ver "força" me faz fazer um rm-rf por reflexo.