hg convert
私の経験では、最も使いやすいツールではありませんでしたが、hg-git
常に問題なく機能していました。しばらく前に git リポジトリで問題が発生したと言及しているため、完全な整合性チェックを試してください。
git fsck-objects --full
(リポジトリはローカルにあると仮定していますが、そうでない場合は、ローカルのクローンを作成し、そこで確認してください。)
必要ではありませんが、続行する前にガベージ コレクションを強制できます。
git gc
あなたが本当に偏執的であるなら、別の完全性チェックでフォローアップすることができます. を使用してhg git
(インストールして有効にしたことを確認してください.hgrc
)、ローカルの Mercurial クローンを作成するのは非常に簡単です。
hg clone path/to/git/repo path/to/hg/repo
(これには時間がかかる場合があります。リビジョンを 1 つずつ調べて再保存します。)
これで、hg クローンには、内部に格納された git リポジトリの隠しコピーが実際に含まれます。これgit status
は、クローンされたディレクトリ内から実行することで確認できます。この隠しコピーはプルまたはプッシュでは転送されないため、本当に git の遺産を取り除きたい場合は、別のクローンを作成できます。
hg clone path/to/hg/repo path/to/new/repo
ある時点で git に戻りたいと判断した場合は、次の隠し git リポジトリを使用してそれを行うこともできますhg-git
。
git init path/to/new/git/repo
cd path/to/new/git/repo
git pull path/to/hg/repo/.hg/git
ハイブリッド リポジトリがまだぶら下がっていない場合は、hg gexport
(の一部hg-git
) を介して適切な場所に再作成するか、git-hgや git のhg/brz-bridge などを使用できます。Mercurial リポジトリとの Git の相互運用性も参照してください。