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 +7 -0
- data/.rabbit +1 -0
- data/README.md +26 -0
- data/Rakefile +17 -0
- data/config.yaml +20 -0
- data/pdf/rubykansai86-ruby-svn-to-git-ruby-svn-to-git.pdf +0 -0
- data/ruby-svn-to-git.md +115 -0
- metadata +66 -0
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
|
Binary file
|
data/ruby-svn-to-git.md
ADDED
@@ -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: []
|