rabbit-slide-znz-rubykansai86-ruby-svn-to-git 2019.05.11

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA256:
3
+ metadata.gz: f53dfc108818580b02ef4e6526ba5f94bdffe8f1cd88e9ad5d1e0289dd818f46
4
+ data.tar.gz: 99a69ac4f57b673c723a45fa170c1da7299135771e0e3a31b2bb11a45abd317c
5
+ SHA512:
6
+ metadata.gz: 3af96facb6ca91bb25f94e371b212322274e538d6934d5759d2634594d9302cd95fbd9d8478435fb08cd5b596b4ef8fbd56418f910775aa7d7e890918c50fde5
7
+ data.tar.gz: 8b30f31ea133ac7d754eefacf9b7370a2adafc1421172dd44ad26ea01bc4c41a649434518066444960a9875490ad2366c8a8974ed0cd4cae22550f43ea07e4b7
data/.rabbit ADDED
@@ -0,0 +1 @@
1
+ ruby-svn-to-git.md
data/README.md ADDED
@@ -0,0 +1,26 @@
1
+ # Ruby svn to git
2
+
3
+ 第86回 Ruby関西 勉強会での発表資料です。
4
+
5
+ Ruby本体の開発のメインリポジトリがsubversionからgitに変わったので、その話をします。
6
+ k0kubunさんのブログの[令和時代のRubyコア開発](https://k0kubun.hatenablog.com/entry/ruby-core-2019)を見ておくとわかりやすいかもしれません。(このブログ記事からの抜粋と関連する話をする予定です。)
7
+
8
+ ## For author
9
+
10
+ ### Show
11
+
12
+ rake
13
+
14
+ ### Publish
15
+
16
+ rake publish
17
+
18
+ ## For viewers
19
+
20
+ ### Install
21
+
22
+ gem install rabbit-slide-znz-rubykansai86-ruby-svn-to-git
23
+
24
+ ### Show
25
+
26
+ rabbit rabbit-slide-znz-rubykansai86-ruby-svn-to-git.gem
data/Rakefile ADDED
@@ -0,0 +1,17 @@
1
+ require "rabbit/task/slide"
2
+
3
+ # Edit ./config.yaml to customize meta data
4
+
5
+ spec = nil
6
+ Rabbit::Task::Slide.new do |task|
7
+ spec = task.spec
8
+ # spec.files += Dir.glob("doc/**/*.*")
9
+ # spec.files -= Dir.glob("private/**/*.*")
10
+ # spec.add_runtime_dependency("YOUR THEME")
11
+ end
12
+
13
+ desc "Tag #{spec.version}"
14
+ task :tag do
15
+ sh("git", "tag", "-a", spec.version.to_s, "-m", "Publish #{spec.version}")
16
+ sh("git", "push", "--tags")
17
+ end
data/config.yaml ADDED
@@ -0,0 +1,20 @@
1
+ ---
2
+ id: rubykansai86-ruby-svn-to-git
3
+ base_name: ruby-svn-to-git
4
+ tags:
5
+ - ruby
6
+ presentation_date: 2019/05/11
7
+ version: 2019.05.11
8
+ licenses: []
9
+ slideshare_id: ruby-svn-to-git
10
+ speaker_deck_id: ruby-svn-to-git
11
+ ustream_id:
12
+ vimeo_id:
13
+ youtube_id:
14
+ author:
15
+ markup_language: :markdown
16
+ name: Kazuhiro NISHIYAMA
17
+ email: zn@mbf.nifty.com
18
+ rubygems_user: znz
19
+ slideshare_user: znzjp
20
+ speaker_deck_user: znz
@@ -0,0 +1,115 @@
1
+ # Ruby svn to git
2
+
3
+ author
4
+ : Kazuhiro NISHIYAMA
5
+
6
+ content-source
7
+ : 第86回 Ruby関西 勉強会
8
+
9
+ date
10
+ : 2019/05/11
11
+
12
+ institution
13
+ : 株式会社Ruby開発
14
+
15
+ allotted-time
16
+ : 20m
17
+
18
+ theme
19
+ : lightning-simple
20
+
21
+ # 自己紹介
22
+
23
+ - 西山 和広
24
+ - Ruby のコミッター
25
+ - twitter, github など: @znz
26
+ - 株式会社Ruby開発 www.ruby-dev.jp
27
+
28
+ # svn から git へ
29
+
30
+ - 参考:
31
+ 令和時代のRubyコア開発 - k0kubun's blog
32
+ <https://k0kubun.hatenablog.com/entry/ruby-core-2019>
33
+ - Ruby のコア開発が Subversion から Git に移行
34
+
35
+ # 歴史
36
+
37
+ - バージョン管理システム以前
38
+ - news (nntp) とかメーリングリスト (ML) とか
39
+ - CVS : ruby-cvs ML の名前の由来
40
+ - Subversion : 安定版のメンテナンスはまだこちら
41
+ - Git : 開発版はこちら (安定版も 2.7 から)
42
+
43
+ # 歴史 (CVS → Subversion)
44
+
45
+ - 連携しているものもほぼない時代
46
+ - すんなり移行
47
+ - ruby-cvs ML の名前はそのまま
48
+ - svn → git の時は特に話題になることもなく同様にそのままに
49
+
50
+ # 歴史 (Subversion → ?)
51
+
52
+ - svk を手元で使っている人もいた
53
+ - Mercurial などには移行せず
54
+ - Git が主流に
55
+ - svn も git-svn 経由で使う人が増えた
56
+
57
+ # なぜ移行?
58
+
59
+ - バージョン管理システムの主流が Git
60
+ - git-svn を使っている人が多かったが色々と面倒だった
61
+ - GitHub で貢献者が出なかった
62
+ (Co-authored-by も git-svn が挟まるとダメだった)
63
+
64
+ # GitHub ではなく cgit
65
+
66
+ - プロプライエタリなものは使わないポリシーの人 (Eric Wong) がいた
67
+ - 独自 hook の都合でいきなり GitHub 移行は大変そうだった
68
+
69
+ # Git化に必要だった作業達
70
+
71
+ - コミットフックの Git 対応
72
+ - Ruby リポジトリ内の tool/* スクリプト
73
+ - 公式の issue tracker の Redmine
74
+ - RubyCI や ci.rvm.jp などの CI や bot
75
+ - cgit の用意、運用、アナウンス
76
+
77
+ # GitHub で運用している他プロジェクトとの違い
78
+
79
+ - GitHub 上でのマージボタンは使わない
80
+ - 同期が一方向のため
81
+ - 開発版ブランチが trunk (master ではない)
82
+ - これも変更すると影響があるので変えるならまた別途
83
+
84
+ # 制限事項
85
+
86
+ - `git push -f` は禁止
87
+ - trunk 以外へのブランチへの push は禁止
88
+ (安定版ブランチはまだ svn からのミラー)
89
+ - マージコミットはしない
90
+ - 移行直後に1個入れてみたらいくつか懸念点があったので当面は使わない
91
+
92
+ # よかったこと
93
+
94
+ - git-svn の複雑さに悩まなくてよくなった
95
+ - git.ruby-lang.org が日本からだと github.com より速い
96
+ - <https://github.com/ruby/ruby/graphs/contributors> に貢献者がのるようになった
97
+
98
+ # GitHub はミラー
99
+
100
+ - GitHub は Subversion 時代と変わらずミラー
101
+ - cgit とずれて push -f されることもある
102
+ - 手元のがおかしくなったら「`git fetch -f`」とか「`git checkout -B trunk origin/trunk`」とか clone し直しとか
103
+
104
+ # GitHub
105
+
106
+ - pull request も可能
107
+ - GitHub 上でのマージはしないが、コミッターがマージして push できる
108
+ - 議論が必要なものは bugs.ruby-lang.org のチケットで
109
+
110
+ # まとめ
111
+
112
+ - Ruby 本体のレポジトリは Subversion から Git に
113
+ - 安定版は次の 2.7 から
114
+ - 連携ツールもほぼ移行完了
115
+ - GitHub はミラーだが pull request も可能
metadata ADDED
@@ -0,0 +1,66 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: rabbit-slide-znz-rubykansai86-ruby-svn-to-git
3
+ version: !ruby/object:Gem::Version
4
+ version: 2019.05.11
5
+ platform: ruby
6
+ authors:
7
+ - Kazuhiro NISHIYAMA
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2019-05-11 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: rabbit
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - ">="
18
+ - !ruby/object:Gem::Version
19
+ version: 2.0.2
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - ">="
25
+ - !ruby/object:Gem::Version
26
+ version: 2.0.2
27
+ description: |-
28
+ 第86回 Ruby関西 勉強会での発表資料です。
29
+
30
+ Ruby本体の開発のメインリポジトリがsubversionからgitに変わったので、その話をします。
31
+ k0kubunさんのブログの[令和時代のRubyコア開発](https://k0kubun.hatenablog.com/entry/ruby-core-2019)を見ておくとわかりやすいかもしれません。(このブログ記事からの抜粋と関連する話をする予定です。)
32
+ email:
33
+ - zn@mbf.nifty.com
34
+ executables: []
35
+ extensions: []
36
+ extra_rdoc_files: []
37
+ files:
38
+ - ".rabbit"
39
+ - README.md
40
+ - Rakefile
41
+ - config.yaml
42
+ - pdf/rubykansai86-ruby-svn-to-git-ruby-svn-to-git.pdf
43
+ - ruby-svn-to-git.md
44
+ homepage: http://slide.rabbit-shocker.org/authors/znz/rubykansai86-ruby-svn-to-git/
45
+ licenses: []
46
+ metadata: {}
47
+ post_install_message:
48
+ rdoc_options: []
49
+ require_paths:
50
+ - lib
51
+ required_ruby_version: !ruby/object:Gem::Requirement
52
+ requirements:
53
+ - - ">="
54
+ - !ruby/object:Gem::Version
55
+ version: '0'
56
+ required_rubygems_version: !ruby/object:Gem::Requirement
57
+ requirements:
58
+ - - ">="
59
+ - !ruby/object:Gem::Version
60
+ version: '0'
61
+ requirements: []
62
+ rubygems_version: 3.0.3
63
+ signing_key:
64
+ specification_version: 4
65
+ summary: Ruby svn to git
66
+ test_files: []