プロジェクト

全般

プロフィール

提案チケットの進め方 » 履歴 » バージョン 12

toshi_a 初音, 2021-12-20 22:28
まだダメの遷移を、質問事項にも利用できることを明記

1 1 toshi_a 初音
{{>toc}}
2
3 11 toshi_a 初音
!提案.png!
4
5 1 toshi_a 初音
h1. 進め方
6
7 6 toshi_a 初音
トラッカー「提案」は、[[ロール#報告者|報告者]]が、新機能の提案や、バグではない軽微な変更をパッチを送る場合に使われる。
8
9
このトラッカーはパッチを必ず添付しなければならない。 *パッチの無い機能要望などは、mikutterでは受け付けていない* 。
10 1 toshi_a 初音
11
基本的な流れとしては、
12
13
# [[ロール#モデレータ|モデレータ]]が、その提案をmikutterにマージすべきか判断する(分類待ち)
14
# マージすべきと判断した場合(パッチ適用待ち)
15
# 修正パッチを試用し、レビューする(レビュー待ち)
16
# 適切なブランチにmergeする(マージ待ち)
17
18
というふうになる。
19
20
h2. ステータス「分類待ち」の場合
21
22
この場合、[[ロール#モデレータ|モデレータ]]がその提案が妥当なものなのか判断し返信する。
23
24 3 toshi_a 初音
h3. パッチを取り込むべきではない場合
25
26 1 toshi_a 初音
妥当でないならばその理由を説明し、ステータスを「却下」に変更する。
27
28 3 toshi_a 初音
h3. パッチを取り込むべきか判断できない場合
29 1 toshi_a 初音
30 3 toshi_a 初音
議論をしてもacceptするかrejectするか判断できない場合、または議論の余地がなく、toshi_aがどうするか判断するしかないと考えられる場合、チケットを以下のように更新する。
31 1 toshi_a 初音
32 5 toshi_a 初音
* *ステータス*: 「toshi_aの判断待ち」
33 3 toshi_a 初音
34 4 toshi_a 初音
この場合、 *担当者を変更する必要はない* 。
35 3 toshi_a 初音
36
このステータスへの遷移は、[[ロール#モデレータ|モデレータ]]の誰か一人でもtoshi_aが判断すべきと考えたら即座に行って良い。
37
38
h3. 取り込むべきと判断できる場合
39
40 10 toshi_a 初音
[[ロール#モデレータ|モデレータ]]がそれを取り込むべきと判断すれば、チケットを以下のように更新する。
41
42 12 toshi_a 初音
* *ステータス*: 「パッチ適用待ち」
43 3 toshi_a 初音
44 1 toshi_a 初音
h2. ステータス「パッチ適用待ち」の場合
45
46
このステータスの時にやるべきことは、単にそのパッチをコミットすることである。したがって、このステータスのチケットは[[ロール#コミッタ|コミッタ]]しか操作することができない。
47
48
h3. パッチをコミットする
49
50
[[ロール#コミッタ|コミッタ]]は、「パッチ適用待ち」のコミットを見たら、いつでもこのパッチをコミットできる。
51
52 9 Yuto Tokunaga
詳細は [[#ブランチの起点について|ブランチの起点について]] に従う。
53 1 toshi_a 初音
54
ただし、コミットする時にはgitコマンドの--authorオプションを使って、パッチを作った人をAuthorにすること。
55
56
このブランチをPushしたら、チケットのステータスを「レビュー待ち」に変更する。
57
58
この時、次のフィールドをそれぞれ以下のようにする。
59
60 12 toshi_a 初音
* *ステータス*: 「レビュー待ち」
61
* *ブランチ名*: コミットしたブランチ名を入れる。
62
* *担当者*: ([[ロール#修正者|修正者]])
63 3 toshi_a 初音
64
h2. ステータス「toshi_aの判断待ち」の場合
65
66
このステータスの場合、toshi_aが「パッチ適用待ち」または「却下」にする。
67
68
このステータスになっていても、他のユーザがこのチケットについて意見を注記に書いて良い。
69 1 toshi_a 初音
70
h2. ステータス「レビュー待ち」の場合
71
72
このステータスになる時、必ずカスタムフィールド「ブランチ名」に、修正がコミットされたブランチが書いてある。
73
74
h3. チケットの担当者が設定されてる場合
75
76
この場合は、設定された担当者がそのブランチをチェックアウトして動作確認を行う。
77
78 12 toshi_a 初音
h4. 動作確認した結果、何も疑問がない場合
79 1 toshi_a 初音
80 12 toshi_a 初音
このチケットで提案している機能が正しく実装できていることが確認できたら、ステータスを「マージ待ち」にする。
81
82 1 toshi_a 初音
* *ステータス*: 「マージ待ち」
83
84 12 toshi_a 初音
h4. それ以外の場合
85 1 toshi_a 初音
86 12 toshi_a 初音
実装に問題がある場合や、疑問点がある場合、チケットのフィールドを以下のように更新する。
87
88 1 toshi_a 初音
* *ステータス*: 「まだダメ」
89
* *担当者*: このチケットのステータスを「レビュー待ち」に変えた人
90
* *注記*: どういった不具合が発生しているかを詳細に説明する。UI関連ならスクリーンショットなどを貼ると良い。
91
92 12 toshi_a 初音
この遷移をするのは次のような場合である: 
93
94
* 機能が正しく実装できてない
95
* 概ね問題なく動いているが、特定の値を入力すると微妙な挙動をするので、ちゃんと意図して実装したのか一応確認したい
96
97 1 toshi_a 初音
h3. チケットの担当者が設定されていない場合
98 8 toshi_a 初音
99 1 toshi_a 初音
[[ロール#修正者|修正者]]以外の[[ロール#モデレータ|モデレータ]]がそのブランチをチェックアウトして動作確認を行う。
100 8 toshi_a 初音
101 12 toshi_a 初音
h4. 動作確認した結果、何も疑問がない場合
102 1 toshi_a 初音
103 12 toshi_a 初音
このチケットで提案している機能が正しく実装できていることが確認できたら、ステータスを「マージ待ち」にする。
104
105 8 toshi_a 初音
* *ステータス*: 「マージ待ち」
106 1 toshi_a 初音
107 12 toshi_a 初音
h4. それ以外の場合
108 1 toshi_a 初音
109 12 toshi_a 初音
実装に問題がある場合や、疑問点がある場合、チケットのフィールドを以下のように更新する。
110
111 8 toshi_a 初音
* *ステータス*: 「まだダメ」
112
* *担当者*: このチケットのステータスを「レビュー待ち」に変えた人
113
* *注記*: どういった不具合が発生しているかを詳細に説明する。UI関連ならスクリーンショットなどを貼ると良い。
114 12 toshi_a 初音
115
この遷移をするのは次のような場合である:
116
117
* 機能が正しく実装できてない
118
* 概ね問題なく動いているが、特定の値を入力すると微妙な挙動をするので、ちゃんと意図して実装したのか一応確認したい
119 8 toshi_a 初音
120 1 toshi_a 初音
h2. ステータス「マージ待ち」の場合
121
122
このステータスになったチケットは、全ての修正、確認が終わっている。したがって[[ロール#コミッタ|コミッタ]]はすぐにこれをmergeしてよい。
123
124
ただし、mergeするブランチには注意すること。次のルールに従う。
125
126
* *developブランチから派生したブランチ* → developブランチにmergeする
127
* *タグ又はmasterから派生したブランチ* → masterブランチにmergeする
128
129
上記のルールに従ってmasterかdevelopにmergeしたら、チケットのフィールド「ブランチ名」のブランチは削除する。
130
131
その後、チケットのフィールドを以下のように更新する。
132
133
* *ステータス*: 「終了」
134
135 7 toshi_a 初音
また、masterにmergeした場合は、そのmasterを更にdevelopにmergeしてもよい(see: [[リポジトリのブランチ名の規約]])。逆の、developをmasterにmergeするのは、マイナーリリースを行う時なので、toshi_a以外が行ってはならない。
136 1 toshi_a 初音
137
h1. その他
138
139
h2. ブランチの起点について
140
141
ブランチ名は @topic/(チケット番号)-(適当な説明)@ という書式にする(例: <code>topic/1234-fix-hogehoge</code>)。
142
143
また、ブランチを始めるリビジョンも重要になってくる。以下のうちのどれかを選択する。可能な限り上のものを選択すること。
144
145
* masterのHEAD
146
* developのHEAD
147
148
また、コミットの一行目の末尾には、「refs #(チケット番号)」を必ず入れること。これによって自動的にチケットとコミットが関連付けられる。
149
150
もしPushしてからrefsの入れ忘れに気づいてしまった場合は、Redmineでそのコミットを開き、「関連するチケット」にそのチケット番号を追加すれば、手動で関連付けることができる。