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 +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: []
|