* 2013-10-07: 要望があったリポジトリの移行完了 [#eb87fa04]

&color(#ff0000){2013-10-07: 期限までに要望があったリポジトリは [[GitHub>https://github.com/seasarorg]] へ移行しました。};

* 2013-10-09: 要望が無かったリポジトリについて [#d36d7248]
** 2013-10-09: 要望が無かったリポジトリについて [#d36d7248]

- [[こちらをご覧ください>GitMigrationRequest#x3c9bf5b]]

* Seasar.org の Subversion リポジトリ から GitHub の Git リポジトリへの移行[#top]

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

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

#contents

** 移行日程 [#e6634e71]

- 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-09-30: 移行用 GitHub アカウント情報の登録期限 (まだ間に合います!)
- 2013-10-01 - 2013-10-07: 移行作業期間
- 2013-10-09 - 要望が無かったリポジトリの移行
* GitHub の利用について [#gf19b0df]

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

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

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

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

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

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

** リポジトリの作成 [#e960d369]

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

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

** Pull Requests の利用 [#q1c9e203]

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

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

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 機能のカスタマイズ [#s233e678]

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

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

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

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

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

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

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

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

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

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

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

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

- GitHub Username
-- https://github.com/USERNAME の USERNAME に相当するものです。
-- この情報は GitHub のリポジトリへコミット可能なチームメンバーへのアカウント割り当てと、[[Committer List>https://www.seasar.org/members/committer/]] から辿れるコミッタ情報に GitHub アカウントへのリンク表示に使用します。チームメンバーへの割り当ては登録期限前から随時行います。
- git config user.name:
-- git config user.name "USER NAME" の USER NAME に相当するものです。
-- この情報は、Subversion から Git へ移行する際に過去のコミット情報を変換するために使用します。2013-10-07 (予定) 以降は不要になりますので、再度編集して削除して構いません。
- git config user.email
-- git config user.email "EMAIL" の EMAIL に相当するものです。[[GitHub profile>https://github.com/settings/emails]] に登録されているいずれか 1 つのメールアドレスを記入してください。GitHub では GitHub サイト上でのコミットログ表示時に、コミットしたユーザへの自動リンクをこのメールアドレスを使用して行っています。
-- この情報は、Subversion から Git へ移行する際に過去のコミット情報を変換するために使用します。2013-10-07 (予定) 以降は不要になりますので、再度編集して削除して構いません。

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

- 参考: [[Keeping your email address private>https://help.github.com/articles/keeping-your-email-address-private]]

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

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

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

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

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

Author 情報は、「Seasar.org のアカウント名@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 のパスワードを忘れてしまったら? [#zd7032e5]

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

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

ふたがわ (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(月)) [#k9e76a9f]

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

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

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

移行後についてです。

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

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

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

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

本人であることの証明は、[[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 リポジトリレイアウトの要望をしなかった場合 [#h9dfb534]

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

* 関連ページ [#kb50a275]

- [[Git]]

トップ   編集 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS