BitbucketがMercurialをやめるというのでMercurialリポジトリをGitリポジトリへ変換する必要に迫られたのでやってみました
Githubがプライベートリポジトリ作れるようになっているのでMercurialやめるなら自分にはBitbucketを選ぶ理由がなくなってしまうので、手動でGitに変更せずにmercurialのhggitプラグインからGithubのリポジトリへpushして新しく作ったディレクトリへpullしたら済むような気はしつつ、ローカルで変換してみます
- Bitbucket: Converting Hg repositories to Git | Pseudo Random Bytes
- ローカルのフォルダをgitのremoteとして設定したい(windows) – Qiita
- リモートリポジトリへの git push に失敗した場合 (remote rejected) – まじめにゆいがどくそん
ほぼこの3か所の情報でできたので、ざっくりと手順を書きだすと
- まず新規gitリポジトリをbareで作成、bareで作成したはずなのになってなかったので、3つめのページを参考にbareにしました
- git-daemon-export-okファイルを作成しgit daemonしてそこへpush
- gitのbareをfalseにしてgit checkoutすることで最新が反映される
ということになります。今回はあんまり外に出したくないデータだったのでローカルで変更してみましたが、bitbucket(の新規gitリポジトリ)なりgithubに上げてるor上げても構わないものであればそこを経由する方が楽なように思います