@@ -11,50 +11,34 @@ lang: ko
11
11
12
12
루비 개발에 관련된 주제들입니다.
13
13
14
- * [ Subversion을 사용하여 루비 개발을 트래킹하기] ( #following-ruby )
15
- * [ 주 루비 저장소로 Git을 사용하는 방법] ( #git-ruby )
14
+ * [ Git을 사용하여 루비 개발을 트래킹하기] ( #following-ruby )
16
15
* [ 패치들로 루비 개선하기] ( #patching-ruby )
17
16
* [ 코어 개발자를 위한 룰] ( #coding-standards )
18
17
19
- ### Subversion을 사용하여 루비 개발을 트래킹하기
18
+ ### Git을 사용하여 루비 개발을 트래킹하기
20
19
{: #following-ruby}
21
20
22
- 루비 코드를 받으려면 [ Subversion] [ 1 ] 저장소에서 익명으로 체크하웃하면 됩니다.
23
- 커맨드 라인에서 다음을 입력하세요.
21
+ 현재 최신 루비 코드의 주 저장소는 [ git.ruby-lang.org/ruby.git] [ gitrlo ] 입니다.
22
+ 또한 [ GitHub에도 미러] [ 7 ] 가 있습니다. 기본적으로는 이 미러를 이용하세요.
23
+
24
+ 최신 루비 코드는 Git을 사용하여 받을 수 있습니다.
24
25
25
26
{% highlight sh %}
26
- $ svn co https://svn.ruby-lang.org/repos/ ruby/trunk ruby
27
+ $ git clone https://github.com/ ruby/ruby.git
27
28
{% endhighlight %}
28
29
29
30
이제 ` ruby ` 디렉터리에는 루비의 최신 개발 버전(ruby-trunk)이 들어 있을 것입니다.
30
- 현재 트렁크에 적용되는 패치는 안정 브랜치들({{ site.svn.stable.version }},
31
- {{ site.svn.previous.version }}, {{ site.svn.old.version }})에 백포트되고
32
- 있습니다.(밑을 참고하세요.)
33
31
34
- 루비 {{ site.svn.stable.version }}의 패치들을 보고 싶다면, 체크아웃 하실 때
35
- ` {{ site.svn.stable.branch }} ` 브랜치를 사용하십시오.
32
+ [ 커미터가 아닌 사람들을 위한 개발 참가 방법] [ noncommitterhowto ] 도 참고하세요.
36
33
37
- {% highlight sh %}
38
- $ svn co https://svn.ruby-lang.org/repos/ruby/branches/{{ site.svn.stable.branch }}
39
- {% endhighlight %}
40
34
41
- 비슷하게 루비 {{ site.svn.previous.version }}에서는..
35
+ 만약 커밋 권한을 가지고 있고, 무엇인가를 푸시하기를 원한다면,
36
+ 반드시 주 저장소를 이용해야 합니다.
42
37
43
38
{% highlight sh %}
44
- $ svn co https://svn .ruby-lang.org/repos/ ruby/branches/{{ site.svn.previous.branch }}
39
+ $ git clone git@git .ruby-lang.org: ruby .git
45
40
{% endhighlight %}
46
41
47
- 이 명령은 ` {{ site.svn.stable.branch }} ` 나 ` {{ site.svn.previous.branch }} ` 디렉터리에
48
- 각각의 루비 개발 트리를 체크아웃합니다. 유지보수 브랜치에서 개발하는 개발자들은
49
- 유지보수에서의 변경사항을 루비 트렁크에도 이관할 것입니다. 그래서 마츠나
50
- 노부가 언어레벨의 수정을 한 경우를 제외하면 두 브랜치는 매우 비슷합니다.
51
-
52
- 더 자세한 내용은 [ 루비의 Subversion 저장소] [ 2 ] 의 웹 사이트를 참조하세요.
53
-
54
- Subversion에 대한 정보는 [ Subversion FAQ] [ 3 ] 나 [ the Subversion book] [ 4 ] 을
55
- 보십시오. 혹은 [ Pragmatic Version Control with Subversion] [ 5 ] 도 매우 유용한
56
- 입문서입니다.
57
-
58
42
### 패치들로 루비 개선하기
59
43
{: #patching-ruby}
60
44
@@ -65,27 +49,28 @@ Subversion에 대한 정보는 [Subversion FAQ][3]나 [the Subversion book][4]
65
49
있습니다. 어떤 방식을 사용하셔도, 계속 토론에 참여하시는 것이 좋습니다.
66
50
67
51
패치를 다루는 방법에 대해 구체적인 가이드를 원하시면 마츠가 직접 쓴
68
- [ 패치 작성자 가이드 ] [ 11 ] 를 확인하세요.
52
+ [ 패치 작성자를 위한 지침 ] [ writing-patches ] 를 확인하세요.
69
53
70
54
패치를 만드는 순서를 요약하자면,
71
55
72
- 1 . 서브버전에서 루비 소스코드를 체크아웃합니다.
56
+ 1 . GitHub에서 루비 소스코드를 체크아웃합니다.
73
57
일반적으로 버그 수정을 위한 패치나 새로운 기능이 이미 루비 소스의 트렁크에
74
- 등록되어 있습니다. {{ site.svn.previous.branch }}에 추가하고 싶다고 하더라도
75
- 트렁크에서 먼저 입증되어야 합니다.
58
+ 등록되어 있습니다.
76
59
77
- $ svn co https://svn.ruby-lang.org/repos/ ruby/trunk ruby
60
+ $ git clone https://github.com/ ruby/ruby.git
78
61
79
62
한 관리 브랜치에서만 일어나는 버그를 수정하려고 한다면, 해당 브랜치를
80
- 체크아웃합니다. 예를 들어 ` {{ site.svn.previous.branch }} ` 의 경우
63
+ 체크아웃합니다.
64
+
65
+ $ git checkout ruby_X_X
81
66
82
- $ svn co https://svn.ruby-lang.org/repos/ruby/branches/{{ site.svn.previous.branch }}
67
+ X_X를 체크아웃하고 싶은 버전으로 변경하세요.
83
68
84
69
2 . 개선된 코드를 추가합니다.
85
70
86
71
3 . 패치를 만듭니다.
87
72
88
- $ svn diff > ruby-changes.patch
73
+ $ git diff > ruby-changes.patch
89
74
90
75
4 . [ 이슈 트랙커] [ 10 ] 에 티켓을 만들거나
91
76
[ Ruby-Core 메일링 리스트] [ mailing-lists ] 에 패치와 패치를 설명한
@@ -103,44 +88,37 @@ Subversion에 대한 정보는 [Subversion FAQ][3]나 [the Subversion book][4]
103
88
주제는 명확해야 하고 잘 생각해서 잘 쓰여야 합니다. 우리는 루비의 창조자에게 말을
104
89
걸고 있으니 예의를 갖춥시다.
105
90
106
- 루비의 코어 개발자들이 영어를 잘한다고 해도 일본에 살고 있으니 시차가 있습니다.
91
+ 루비의 코어 개발자들이 영어를 잘한다고 해도 많은 수가 일본에 살고 있으니 시차가 있습니다.
107
92
영어와 동시에 진행되는 일어 개발 메일링 리스트도 있습니다. 클레임이 해결되지
108
93
않았을 경우에도 인내심을 가지고 며칠 후에 다시 시도해주시길 바랍니다.
109
94
110
- ### 코어 개발자를 위한 규칙
111
- {: #coding-standards}
95
+ ### 브랜치에 대한 안내
96
+
97
+ 루비의 소스 코드는 2019년 4월 22일까지 서브버전에서 관리되어 왔습니다.
98
+ 그러므로 몇몇 버전은 그대로 서브버전에서 관리됩니다.
99
+ 다음 SVN 저장소를 이용할 수 있습니다.
112
100
113
- 일반적으로, 루비의 개발자는 소스코드와 팀이 사용하는 개발 스타일에
114
- 친숙해야 합니다. 다시 말하자면, Subversion에 체크인할 때 다음 가이드
115
- 라인들은 지켜져야 합니다.
101
+ * [ < ; URL:https://svn.ruby-lang.org/cgi-bin/viewvc.cgi?root=ruby > ; ] [ svn-viewvc ]
116
102
117
- * 모든 체크인은 [ GNU conventions] [ 14 ] 에 따라 ` ChangeLog ` 에 기술되어야
118
- 합니다. (많은 루비 코어 개발자들은 이맥스의 ` add-log ` 모드를 사용합니다.
119
- ` add-log ` 모드는 단축키 ` C-x 4 a ` 로 열 수 있습니다.)
120
- * 체크인 날짜는 일본 표준시(UTC+9)여야 합니다.
121
- * ChangeLog에 추가할 때에는 Subversion 커밋 메시지도 같은 내용을 넣어야
122
- 합니다. 이 메시지는 커밋과 동시에 Ruby-CVS 메일링 리스트에 자동으로
123
- 공지됩니다.
124
- * 함수 프로토타입은 루비의 코드와 코드의 확장기능 전체에서 사용됩니다.
125
- * C++ 스타일의 주석(` // ` )을 쓰지 마세요. 루비의 메인테이너는 표준 C의
126
- 여러 줄 주석(` /* .. */ ` )을 사용하길 권장합니다.
103
+ 그렇지만 (브랜치 유지보수 담당자가 아니라면) 이를 신경쓸 필요는 없습니다.
104
+ 브랜치를 Git에서 체크아웃 할 수 있습니다.
105
+ 예를 들어 다음 명령을 실행하세요.
127
106
128
- 더 자세한 정보는 [ 루비의 이슈 트랙커] [ 10 ] 를 참조하세요.
107
+ {% highlight sh %}
108
+ $ git checkout ruby_X_X
109
+ {% endhighlight %}
129
110
111
+ X_X는 체크아웃 하고 싶은 브랜치 이름으로 변경하세요.
130
112
113
+ 브랜치를 변경하고 싶다면 [ 이슈 트랙커] [ 10 ] 에 이슈를 만들어주세요.
114
+ 다음 링크도 참고하세요.
131
115
116
+ [ gitrlo ] : https://git.ruby-lang.org/ruby.git
132
117
[ mailing-lists ] : /ko/community/mailing-lists/
133
- [ 1 ] : http://subversion.apache.org/
134
- [ 2 ] : https://svn.ruby-lang.org/cgi-bin/viewvc.cgi/
135
- [ 3 ] : http://subversion.apache.org/faq.html
136
- [ 4 ] : http://svnbook.org
137
- [ 5 ] : http://www.pragmaticprogrammer.com/titles/svn/
138
- [ 6 ] : http://git-scm.com/
118
+ [ writing-patches ] : /en/community/ruby-core/writing-patches/
119
+ [ noncommitterhowto ] : https://github.com/shyouhei/ruby/wiki/noncommitterhowto
120
+ [ svn-viewvc ] : https://svn.ruby-lang.org/cgi-bin/viewvc.cgi?root=ruby
139
121
[ 7 ] : https://github.com/ruby/ruby
140
- [ 8 ] : https://github.com/shyouhei/ruby/wiki/committerhowto
141
- [ 9 ] : https://github.com/shyouhei/ruby/wiki/noncommitterhowto
142
122
[ 10 ] : https://bugs.ruby-lang.org/
143
- [ 11 ] : http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-core/25139
144
123
[ 12 ] : http://www.gnu.org/software/diffutils/manual/html_node/Unified-Format.html
145
124
[ 13 ] : http://www.gnu.org/software/diffutils/manual/html_node/Merging-with-patch.html#Merging%20with%20patch
146
- [ 14 ] : http://www.gnu.org/prep/standards/standards.html#Change-Logs
0 commit comments