申し訳ありませんが、コミットは作業コピーと共に削除され、ファイル回復ツールが不足している.hg
フォルダーを回復する唯一のオプションです。インストールからコードを復元できることがわかりました — すばらしい!
これが再び発生することを恐れている場合は、次のような粗雑なフックをインストールできます
[hooks]
post-commit = R=~/backup-repos/$(basename "$PWD");
(hg init "$R"; hg push -f "$R") > /dev/null 2>&1 || true
これにより、すべてのコミットのコピーが の下の適切なリポジトリに強制的にプッシュされ~/backup-repos
ます。この-f
フラグにより、履歴を変更する rebase や mq などの拡張機能を使用している場合でも、バックアップを確実にプッシュできます。また、変更セットを無関係なリポジトリから同じバックアップ リポジトリにプッシュすることもできます — という名前の 2 つの異なるリポジトリを想像してみてくださいfoo
。そのため、バックアップ リポジトリは、しばらくすると変更セットの巨大な山になってしまい、たまにそれらを削除したくなるかもしれません。
私はこれを簡単にテストしましたが、日常の作業では、余分なコピーのオーバーヘッドに気付かないと思います。後で感謝するかもしれません:-)