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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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: []