×
Copy
Open
Link
Embed
Share
Beginning
This slide
Copy link URL
Copy link URL
Copy iframe embed code
Copy iframe embed code
Copy javascript embed code
Copy javascript embed code
Share
Tweet
Share
Tweet
Slide 1
Slide 1 text
Ruby svn to git Kazuhiro NISHIYAMA 第86回 Ruby関⻄ 勉強会 2019/05/11 株式会社Ruby開発 Powered by Rabbit 2.1.8
Slide 2
Slide 2 text
⾃己紹介 ⻄⼭ 和広 Ruby のコミッター twitter, github など: @znz 株式会社Ruby開発 www.ruby-dev.jp 1/14
Slide 3
Slide 3 text
svn から git へ 参考: 令和時代のRubyコア開発 - k0kubun’s blog https://k0kubun.hatenablog.com/ entry/ruby-core-2019 Ruby のコア開発が Subversion から Git に移⾏ 2/14
Slide 4
Slide 4 text
歴史 バージョン管理システム以前 news (nntp) とかメーリングリスト (ML) と か CVS : ruby-cvs ML の名前の由来 Subversion : 安定版のメンテナンスは まだこちら Git : 開発版はこちら (安定版も 2.7 から) 3/14
Slide 5
Slide 5 text
歴史 (CVS → Subversion) 連携しているものもほぼない時代 すんなり移⾏ ruby-cvs ML の名前はそのまま svn → git の時は特に話題になることもなく 同様にそのままに 4/14
Slide 6
Slide 6 text
歴史 (Subversion → ?) svk を⼿元で使っている⼈もいた Mercurial などには移⾏せず Git が主流に svn も git-svn 経由で使う⼈が増えた 5/14
Slide 7
Slide 7 text
なぜ移⾏? バージョン管理システムの主流が Git git-svn を使っている⼈が多かったが ⾊々と面倒だった GitHub で貢献者が出なかった (Co-authored-by も git-svn が挟まる とダメだった) 6/14
Slide 8
Slide 8 text
GitHub ではなく cgit プロプライエタリなものは使わないポリ シーの⼈ (Eric Wong) がいた 独⾃ hook の都合でいきなり GitHub 移 ⾏は⼤変そうだった 7/14
Slide 9
Slide 9 text
Git化に必要だった作業達 コミットフックの Git 対応 Ruby リポジトリ内の tool/* スクリプト 公式の issue tracker の Redmine RubyCI や ci.rvm.jp などの CI や bot cgit の⽤意、運⽤、アナウンス 8/14
Slide 10
Slide 10 text
GitHub で運⽤している他 プロジェクトとの違い GitHub 上でのマージボタンは使わない 同期が⼀⽅向のため 開発版ブランチが trunk (master では ない) これも変更すると影響があるので変えるな らまた別途 9/14
Slide 11
Slide 11 text
制限事項 git push -f は禁⽌ trunk 以外へのブランチへの push は禁 ⽌ (安定版ブランチはまだ svn からのミラ ー) マージコミットはしない 移⾏直後に1個⼊れてみたらいくつか懸念点 があったので当面は使わない 10/14
Slide 12
Slide 12 text
よかったこと git-svn の複雑さに悩まなくてよくなっ た git.ruby-lang.org が日本からだと github.com より速い https://github.com/ruby/ruby/ graphs/contributors に貢献者がのる ようになった 11/14
Slide 13
Slide 13 text
GitHub はミラー GitHub は Subversion 時代と変わらず ミラー cgit とずれて push -f されることもある ⼿元のがおかしくなったら「git fetch - f」とか「git checkout -B trunk origin/trunk」とか clone し直しとか 12/14
Slide 14
Slide 14 text
GitHub pull request も可能 GitHub 上でのマージはしないが、コミッタ ーがマージして push できる 議論が必要なものは bugs.ruby- lang.org のチケットで 13/14
Slide 15
Slide 15 text
まとめ Ruby 本体のレポジトリは Subversion から Git に 安定版は次の 2.7 から 連携ツールもほぼ移⾏完了 GitHub はミラーだが pull request も 可能 14/14 Powered by Rabbit 2.1.8