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

More Related Content

PDF
Dockerのオフィシャルrubyイメージとは?
PDF
Rubyな日々
PDF
Git地図
PDF
最近のrubyのインストール方法
PPTX
8つの操作ではじめるGit
PPTX
SvnからGitへの移行について
PDF
ライセンス変更の話
PDF
git ~start PullRequest~
Dockerのオフィシャルrubyイメージとは?
Rubyな日々
Git地図
最近のrubyのインストール方法
8つの操作ではじめるGit
SvnからGitへの移行について
ライセンス変更の話
git ~start PullRequest~

What's hot (17)

PDF
Real legacy
PPTX
今更だけど 「git rebase」の 使い方を覚えた話
PDF
Ruby Enterprise Environment
PDF
Git 初心者講座 by forkwell
PDF
猫にはわからないGit講座
PPT
Mongo db18 upgrade
PPT
SVN経験者のためのGIT入門
KEY
mikutter入門
PDF
ペパボ福岡支社におけるRubyの活用事例
PDF
なるべく噛み砕いたGit基礎講習
PDF
Quartzでcronを範囲検索したい
PDF
貧者のための「cron」
PDF
人間たちとsystemd
PPTX
Rancher と GitLab を使う3つの理由
PDF
ペパボのサービスとRuby
PPTX
Gitの勉強 紹介編-
PDF
MasterCloud Docker Hands-on 20170725
Real legacy
今更だけど 「git rebase」の 使い方を覚えた話
Ruby Enterprise Environment
Git 初心者講座 by forkwell
猫にはわからないGit講座
Mongo db18 upgrade
SVN経験者のためのGIT入門
mikutter入門
ペパボ福岡支社におけるRubyの活用事例
なるべく噛み砕いたGit基礎講習
Quartzでcronを範囲検索したい
貧者のための「cron」
人間たちとsystemd
Rancher と GitLab を使う3つの理由
ペパボのサービスとRuby
Gitの勉強 紹介編-
MasterCloud Docker Hands-on 20170725
Ad

Similar to Ruby svn to git (20)

KEY
P4p20120408
KEY
20120324 git training
PPT
Git紹介
PDF
道具としてのDVCS
PPT
Git紹介~入門編~
PDF
Git -分散バージョン管理システム-
PDF
Agileツール適合化分科会(gitとgit hub)
PDF
VCS - Version Control System at Security and Programming camp 2011
PPTX
Git勉強会
PDF
SVNからGitへ乗り換えてほしい話
PPTX
Git svnではじめる忍者のごとく潜むgit
PDF
VCSクエスト
PDF
GitHub勉強会
ODP
とっとるびー(2回目)発表資料
KEY
Git (実践入門編)
PDF
SVNのすすめ&Redmineでプロジェクト管理
PPTX
第1回Git勉強会
KEY
日本androidの会 中国支部 29回勉強会 github
PDF
はじめようGit
KEY
一人でもはじめるGitでバージョン管理
P4p20120408
20120324 git training
Git紹介
道具としてのDVCS
Git紹介~入門編~
Git -分散バージョン管理システム-
Agileツール適合化分科会(gitとgit hub)
VCS - Version Control System at Security and Programming camp 2011
Git勉強会
SVNからGitへ乗り換えてほしい話
Git svnではじめる忍者のごとく潜むgit
VCSクエスト
GitHub勉強会
とっとるびー(2回目)発表資料
Git (実践入門編)
SVNのすすめ&Redmineでプロジェクト管理
第1回Git勉強会
日本androidの会 中国支部 29回勉強会 github
はじめようGit
一人でもはじめるGitでバージョン管理
Ad

More from Kazuhiro Nishiyama (20)

PDF
Ruby on Rails と私 at 関西Ruby会議08 After Party: 叡電LT 🚃
PDF
riscv64.rubyci.org internal at RubyKaigi 2025 LT
PDF
Rubyの日本語リファレンスマニュアルの現在と未来 (松江Ruby会議11) 2024-10-05
PDF
devise-two-factor gem を 4.x から 5.x に上げた話
PDF
docs.ruby-lang.org/ja/ の生成方法を (GitHub Actions に)変えた
PDF
Ubuntuのriscv64版をqemuで動かした at LILO&東海道らぐオフラインミーティング 2024-04-27
PDF
lilo.linux.or.jp を buster から bullseye に上げた
PDF
小規模個人アプリをRails 7.xにバージョンアップした話
PDF
Ruby リファレンスマニュアル改善計画 2022 進捗報告
PDF
fukuoka03-rubima-reboot-rubyist-magazine-reboot.pdf
PDF
rubykaigi2022-rurema-history-and-future.pdf
PDF
qemuのriscv64にDebianを入れてみた
PDF
systemd 再入門
PDF
Ruby 3.0.0 コネタ集
PDF
livedoor天気API終了対応
PDF
Wireguard 実践入門
PDF
workflow,job,step の使い分けの基準を考える
PDF
あまり知られていないRubyの便利機能
PDF
チャットボットのススメ
PDF
Dokku の紹介
Ruby on Rails と私 at 関西Ruby会議08 After Party: 叡電LT 🚃
riscv64.rubyci.org internal at RubyKaigi 2025 LT
Rubyの日本語リファレンスマニュアルの現在と未来 (松江Ruby会議11) 2024-10-05
devise-two-factor gem を 4.x から 5.x に上げた話
docs.ruby-lang.org/ja/ の生成方法を (GitHub Actions に)変えた
Ubuntuのriscv64版をqemuで動かした at LILO&東海道らぐオフラインミーティング 2024-04-27
lilo.linux.or.jp を buster から bullseye に上げた
小規模個人アプリをRails 7.xにバージョンアップした話
Ruby リファレンスマニュアル改善計画 2022 進捗報告
fukuoka03-rubima-reboot-rubyist-magazine-reboot.pdf
rubykaigi2022-rurema-history-and-future.pdf
qemuのriscv64にDebianを入れてみた
systemd 再入門
Ruby 3.0.0 コネタ集
livedoor天気API終了対応
Wireguard 実践入門
workflow,job,step の使い分けの基準を考える
あまり知られていないRubyの便利機能
チャットボットのススメ
Dokku の紹介

Ruby svn to git