More than 1 year has passed since last update.

概要

Fossil のデフォルトブランチ名は master じゃなくて trunk だから注意しましょう。

実際の流れ

fossil からエクスポート & git へのインポート

git init new-repo
cd new-repo
fossil export --git ../repo.fossil | git fast-import

新しい git リポジトリを作成し、その中に入り、fossil のリポジトリを指定して情報を移行する。

PrtScrn.png

成功するとこういう上記のようなログが出る。

ここまでは fossil の公式 Wikiに記されている通り。

結果を確認

しかし、ここで履歴が移行されたか確かめるために git log しても、fatal: bad default revision 'HEAD'というエラーが出るのではないだろうか。

git ではデフォルトのブランチが master なのに対して、fossil では trunk になっているためだ。

git checkout trunk することでブランチを移行でき、git log の結果も正しく表示されるだろう。

GitHub へ push

GitHub側ではGitHubのヘルプを参考にして先にリポジトリを作る。

そして、Step 3: Push your commit のステップで git remote add origin https://github.com/[ユーザ名]/[リポジトリ名].git した次は、先ほどと同じくローカルのブランチについて master ではなく trunk を指定する必要がある。

git push origin trunk

さもないと、認証の後、

error: src refspec master does not match any.
error: failed to push some refs to 'https://github.com/[ユーザ名]/[リポジトリ名].git'

といったエラーに見舞われるだろう。