かぁくん本紀自作CMS・自作サーバーにて運用中
PC・サーバ >

FossilからGitHubへのミラーリング

公開日時: 2023-11-26 18:21:53更新日時: 2023-11-26 18:44:10Fossilざっくり解説の8ページ目では、無料でリポジトリをバックアップしておける外部サーバーとしてGitHubを活用すべく、既存のFossilリポジトリからGitにデータをミラーリングする方法を紹介します。

なお、GitHubのIssue機能などについてはGit本体の機能ではなくGitHubの独自拡張になるため、Fossilからミラーリングすることはできません。

FossilからのミラーをインポートするためのGitHubでの準備作業

Fossilからリポジトリのミラーをインポートする前に、GitHubでは以下の操作が必要になります。
  1. GitHubのアカウントがない場合は、作成しておく。
  2. そのアカウントで、GitHubの設定メニューから、プライベートリポジトリへのフルアクセス権限を持つ有効期限なしのアクセストークンを発行しておく。
  3. 空のリポジトリを作成する。(ライセンスファイルやREADMEファイルがあるとエラーの原因になるため、これらのオプションは全て「None」を選択しておく)

FossilからGitHubへのミラーリング

上記の操作が完了したら、ミラーリングするFossil管理下のディレクトリで端末エミュレータを起動し、以下のコマンドでミラーリング処理を実行します。

fossil git export Gitデータを置いておくフォルダのパス --autopush https://GitHubユーザー名:アクセストークン@github.com/GitHubユーザー名/リポジトリ名.git

なお、このミラーリング処理には数分かかる場合がありますが、1度ミラーリングしたリポジトリを最新版に同期させるには差分エクスポートのための別コマンドが用意されているため、次回以降の同期処理は数秒以内に完了する場合がほとんどです。

ミラーリング後のコミット時に行う作業について

重要な注意点として、ここで紹介しているミラーリングコマンドは一方向の処理のため、Fossilに新しくコミットされた変更をGitに反映することはできても、Gitに対して行われた変更をFossilに反映することは難しいため、GitHubは原則として読み取り専用で運用する必要があります。

なお、Fossilに新しくコミットされた内容をGitに反映する場合は、

fossil git export

を実行するだけで、最初のミラーリング時に指定したGitHubのリポジトリに差分ミラーリングが行われます。
この記事のタグ:
Fossil

この記事へのコメント