BitbcuketのMercurialのサポートが2020年に終了するようなので移行しないといけなくなった
参考:bitbucket.orgでmercuialのサポート終了のお知らせ
概要:2020/2/1に新規でリポジトリ作成ができなくなり、2020/6/1にMercurialのリポジトリが削除されるらしい。
それで引き続きBitbucketを使い続けたい場合
これを機にBitbucketからGitHubへ移りたいという場合は別の記事を参照ください。ここではBitbucket内でのリポジトリの変換をする場合の手順について書きます。
主な手順は下記リンクの通り
変換の概要
上記の手順はUbuntu16.04上で実行することになっているので、その環境を準備する。
変換手順はリポジトリ名を同じにしたいので、Bitbucket上のMercurialのリポジトリの名前を変更する。(sampleというリポジトリ名の場合、sample-Hgのようにする)
そして、変換後のGitのリポジトリを予め作成しておく。
- sample-Hgリポジトリ(Mercurial)からクローン
- ローカルでGitに変換
- sampleリポジトリ(Git)へpushする。
という手順とする。
手順通りにやってもうまくいかない
まず、取得するようになっている、fast-exportがエラーを吐いて動かないので、一旦説明通りにcloneした後、下記コマンドで動くrevを取得
git checkout tags/v180317
次に手順通りだと、authorsファイルが作成され、Gitの記述方に沿った書き方でない場合、変換する必要がある。とあるがそのまま書いたのではエラーになるため、下記の書き方にする必要がある。
(誤) bob=bob Jones <bob@company.com>
(正) "bob"="bob Jones <bob@company.com>"
つまり、ダブルクォートで左右の文字列を囲むようにということのようだ。
上記の点を踏まえると、Bitbucket内でプロジェクトの変換ができた。