Seasar.org の Subversion リポジトリ から GitHub の Git リポジトリへの移行

リポジトリへの移行に関する説明です。

この内容に関して質問等があれば、Seasar Committer ML までメールをお送りください。(ふたがわ (jfut))

移行日程

GitHub の利用について

GitHub Organization 機能を使い、Seasar.org サーバの全 Subversion リポジトリを下記のアカウントの Git リポジトリへ移行します。

GitHub へ移行することで次のことが可能になります。

リポジトリごとのチーム機能

チームメンバーになることで直接リポジトリを編集・管理(Pull Requests の Merge 操作、プロジェクト設定など)できるようになります。また、チームメンバーであれば、新規に GitHub アカウントを持つ方をそのチームのメンバーへ加えることができます。

チームメンバーにならなくても、Pull Requests によって機能改善を受けることは可能です。

リポジトリの作成

チームメンバーであれば、seasarorg Organization 内に自由にリポジトリを作成することができます。 例えば、projectname-example といったリポジトリを作成することができます。

他のプロジェクトのリポジトリと混同しないよう、「プロジェクト名-用途名」といった命名規則でリポジトリ名を作成するようにご協力ください。

Pull Requests の利用

Pull Requests によるコミッタ以外の利用者からの改善リクエストを受けることができるようになります。

課題追跡連携

Seasar.org の課題追跡 と GitHub のリポジトリは自動的に連携し、コミットメッセージに応じて課題追跡の Commits タブに GitHub の該当コミットへのリンクが表示されます。個別のプロジェクトごとに特別は設定は必要ありません。

プロジェクトごとの GitHub 機能のカスタマイズ

GitHub が提供する Wikis, Issues, Pages, Service Hooks などの機能は、プロジェクトごとに機能を有効化・無効化して使用することができます。

プロジェクトサイト連携

GitHub 上にある任意のリポジトリにコミットしてあるコンテンツをプロジェクトサイトとして使用できるようにします。

GitHub 利用の問題点

GitHub がサービスを終了する場合、他のサービスへ再度移行する必要があります。

移行準備 (重要)

移行のために各コミッタ、プロジェクトごとに移行情報を登録していただく必要があります。

コミッタ単位: 移行用 GitHub アカウント情報の登録 (登録期限: 2013-09-30(月))

登録期限: 2013-09-30(月)

Subversion リポジトリは、コミットログに貢献者の情報としてコミットしたアカウント名(Seasar.org のアカウント名、例: jfut)しか記録しません。しかし、Git リポジトリは、コミットログに貢献者の情報として「名前」と「メールアドレス」を記録します。そこで、過去の Subversion リポジトリにコミットしたあなたの貢献の記録を、Git のコミットログの形式である「名前」と「メールアドレス」に変換するために、Seasar Members にログインし、Login -> User Menu -> Profile から下記の 3 つの情報を登録してください。

この情報を把握していないコミッタの知り合いがいましたら登録していただくようにお伝えください。

なお、GitHub に移行した過去のコミットログにあなたの名前とメールアドレスが記録として残らなくて良い場合は、git config user.name と git config user.email の記入は必要ありません。その場合、あなたの過去の貢献に対する貢献者の表示は「Seasar.org のアカウント名@SVN の UUID」になります。

git config user.name と git config user.email は、GitHub 上では表示されませんが、誰でもリポジトリを git clone してコミットログを表示することで見ることができます。したがって、本名を出したくない場合はハンドルネームなどを、スパム避けをしたい場合は偽物のメールアドレスを入力してください。

情報が登録された場合の過去のコミットログの変換例

Author 情報は、登録した情報になります。

commit 2efad03788f681995a7a708591dc111c68ea099e
Author: USER NAME <EMAIL>
Date:   Wed Sep 4 04:25:06 2013 +0000
 
    コミットメッセージ

情報が登録されなかった場合の過去のコミットログの変換例

Author 情報は、「Seasar.org のアカウント名@SVN の UUID」になります。

commit 2efad03788f681995a7a708591dc111c68ea099e
Author: Seasar.orgアカウント名 <1447b1ea-c1f7-0310-af6f-cdb6f6f84f4f>
Date:   Wed Sep 4 04:25:06 2013 +0000
 
    コミットメッセージ

移行した Git リポジトリの過去のコミット情報にある Author 情報を後から書き換えることは可能ですが、その場合、コミット ID が変わってしまうため、git clone されたリポジトリとの互換性は無くなり、clone されたリポジトリから変更点をマージすることができなくなります。そのため、登録期限までに Author 情報を登録することを強く推奨します。

Seasar Members のパスワードを忘れてしまったら?

ふたがわ (jfut)、もしくは、Operation ML へ連絡してください。

Seasar Committer ML に登録されているメールアドレスを失ってしまった場合は?

ふたがわ (jfut)、もしくは、Operation ML へ連絡してください。 登録されているメールアドレスの変更は、Seasar Committer ML から行えます。

プロジェクト単位: Git リポジトリレイアウト (要望期限: 2013-09-30(月))

要望期限: 2013-09-30(月)

Subversion と Git ではリポジトリレイアウトの標準構成・特性が異なります。そのため、プロジェクトごとに変換方針の要望を受け付けます。標準構成での移行であっても、下記のページに移行要望を記入してください。

移行後

移行後についてです。

Seasar.org の Subversion リポジトリ

GitHub への移行後、Seasar.org の Subversion リポジトリは読み取り専用状態になります。チェックアウトをすることは可能ですが、新規にコミットすることはできないようになります。

移行準備期間に GitHub アカウント情報を登録しなかった場合

移行済みのチームメンバーにメンバーへ追加して貰ってください。

本人であることの証明は、Seasar Members にログインし、Login -> User Menu -> Profile から GitHub 情報を登録すると Committer List から辿れるコミッタ情報に GitHub アカウントへのリンクが表示されます。

既に移行された Git リポジトリの過去のコミット情報にある Author 情報を後から書き換えることは可能ですが、その場合、コミット ID が変わってしまうため、既に git clone されたリポジトリとの互換性は無くなり、clone されたリポジトリからマージすることができなくなります。

プロジェクトのコミッタが誰一人移行準備期間に要望をしていなかった場合は、下記の「プロジェクトのコミッタが誰一人移行準備期間に Git リポジトリレイアウトの要望をしなかった場合」を行ってください。

プロジェクトのコミッタが誰一人移行準備期間に Git リポジトリレイアウトの要望をしなかった場合

標準構成で移行し、リポジトリの管理を一時的に Seasar Organization 管理とします。 移行後にコミッタが Operation ML へ連絡していただくことで、リポジトリの管理権限を委譲します。また、要望に応じて再度希望する Git リポジトリレイアウトで移行し直します。

関連ページ


トップ   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS