* SVN から GitHub への移行[#top]

&color(#ff0000){現在、このページはふたがわが編集中のため、まだ編集しないでください。[[Seasar Committer ML>https://ml.seasar.org/mailman/listinfo/seasar-committer]] へアナウンス後は編集していただいて構いません。};

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

この内容に関して質問等があれば、[[Seasar Committer ML>https://ml.seasar.org/mailman/listinfo/seasar-committer]] までメールをお送りください。(ふたがわ (jfut))

#contents

** 移行日程 [#mafe21ea]
** 移行日程 [#k81040d6]

# 移行期間

- 2013-08-14 - 2013-09-06: 移行に関する議論 ([Seasar Committer ML>https://ml.seasar.org/mailman/listinfo/seasar-committer])
- 2013-08-14 - 2013-09-06: 移行に関する議論 ([[Seasar Committer ML>https://ml.seasar.org/mailman/listinfo/seasar-committer]])
- 2013-09-06: 移行決定
- 2013-09-07 - 2013-09-30: 移行準備期間
- 2013-10-01 - 2013-10-07: 移行作業期間
- 2013-09-07 - 2013-09-30: 移行準備期間 (予定)
- 2013-09-30: 移行用 GitHub アカウント情報の登録期限
- 2013-10-01 - 2013-10-07: 移行作業期間 (予定)

* 関連ページ [#ta1c451c]
* GitHub の利用について [#nab0672f]

GitHub Organization 機能を使い、下記のアカウントへ移行します。

- 移行先: https://github.com/seasarorg

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

** リポジトリごとのチーム機能 [#e993aac8]

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

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

** リポジトリを自由に作成 [#w28a0263]

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

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

** Pull Requests の利用 [#b10600b9]

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

** 課題追跡連携 [#g640a690]

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

- 参考
-- [[Use the JIRA DVCS Connector Plugin>https://confluence.atlassian.com/display/BITBUCKET/Use+the+JIRA+DVCS+Connector+Plugin]]

** プロジェクトごとの GitHub 機能のカスタマイズ [#e88a3eab]

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

** プロジェクトサイト連携 [#ge79e2d1]

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

- 例
-- プロジェクトサイト: http://s2directory.sandbox.seasar.org/
-- リポジトリ: https://github.com/seasarorg/s2directory-www

- 関連: [[プロジェクトサイトの管理方法>Committer/ProjectSite]]
-- 移行開始までに利用方法を記載予定

** GitHub 利用の問題点 [#h7f8f089]

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

* 移行準備 &color(#ff0000){(重要)}; [#md34167a]

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

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

&color(#ff0000){登録期限: 2013-09-30(月)};

[[Seasar Members>https://www.seasar.org/members/]] にログインし、Login -> User Menu -> Profile から下記の 3 つの情報を登録してください。

- GitHub Username
-- https://github.com/USERNAME の USERNAME に相当するものです。
- git config user.name:
-- git config user.name "USER NAME" の USER NAME に相当するものです。
- git config user.email
-- git config user.email "EMAIL" の EMAIL に相当するものです。[[GitHub profile>https://github.com/settings/emails]] に登録されているメールアドレスを記入してください。このメールアドレスはコミットログに表示されます。
-- 参考: Keeping your email address private

この情報は、Subversion から Git へ移行する際に過去のコミット情報を変換するために使用します。

情報が登録された場合、過去のコミットログの Author 情報に登録した情報が表示され、GitHub サイトでのコミットログ表示時にユーザリンクが機能するようになります。

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

情報が登録されなかった場合、Author 情報は、「SVN コミット名@SVN の UUID」になります。

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

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

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

*** Seasar Members のパスワードを忘れてしまったら? [#mdf047f1]

ふたがわ (jfut)、もしくは、[[Operation ML>https://ml.seasar.org/mailman/listinfo/operation]] へ連絡してください。

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

ふたがわ (jfut)、もしくは、[[Operation ML>https://ml.seasar.org/mailman/listinfo/operation]] へ連絡してください。
登録されているメールアドレスの変更は、[[Seasar Committer ML>https://ml.seasar.org/mailman/listinfo/seasar-committer]] から行えます。

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

&color(#ff0000){要望期限: 2013-09-30(月)};

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

- [[プロジェクト単位: Git リポジトリレイアウトの移行要望>GitMigrationRequest]]

* 移行後 [#l7dae5e0]

移行後についてです。

** Seasar.org の Subversion リポジトリ [#u8a0cb47]

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

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

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

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

- [[コミッタ情報例>https://www.seasar.org/members/committer/jfut/]]

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

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

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

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

* 関連ページ [#obd67a4f]

- [[Git]]


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