プロジェクト

全般

プロフィール

提案チケットの進め方 » 履歴 » リビジョン 3

リビジョン 2 (toshi_a 初音, 2018-07-14 20:59) → リビジョン 3/12 (toshi_a 初音, 2018-07-15 21:01)

{{>toc}} 

 h1. 進め方 

 トラッカー「提案」は、[[ロール#報告者|報告者]]が、新機能の提案や、バグではない軽微な変更を提案する場合に使われる。 

 基本的な流れとしては、 

 # [[ロール#モデレータ|モデレータ]]が、その提案をmikutterにマージすべきか判断する(分類待ち) 
 # マージすべきと判断した場合(パッチ適用待ち) 
 # 修正パッチを試用し、レビューする(レビュー待ち) 
 # 適切なブランチにmergeする(マージ待ち) 

 というふうになる。 

 h2. ステータス「分類待ち」の場合 

 この場合、[[ロール#モデレータ|モデレータ]]がその提案が妥当なものなのか判断し返信する。 

 h3. パッチを取り込むべきではない場合 

 妥当でないならばその理由を説明し、ステータスを「却下」に変更する。 
 [[ロール#モデレータ|モデレータ]]がそれを取り込むべきと判断すれば、以下の条件に従って次に進める。 

 h3. パッチを取り込むべきか判断できない場合 取り込むべきではない場合 

 議論をしてもacceptするかrejectするか判断できない場合、または議論の余地がなく、toshi_aがどうするか判断するしかないと考えられる場合、チケットを以下のように更新する。 標準機能にすべきでないと考えられる場合はステータスを「却下」にする。 

 - *ステータス*: 「toshi_aの判断待ち」 

 この場合、*担当者を変更する必要はない*。 

 このステータスへの遷移は、[[ロール#モデレータ|モデレータ]]の誰か一人でもtoshi_aが判断すべきと考えたら即座に行って良い。 

 h3. 取り込むべきと判断できる場合 

 [[ロール#モデレータ|モデレータ]]がそれを取り込むべきと判断すれば、以下の条件に従って次に進める。 

 h2. ステータス「パッチ適用待ち」の場合 

 このステータスの時にやるべきことは、単にそのパッチをコミットすることである。したがって、このステータスのチケットは[[ロール#コミッタ|コミッタ]]しか操作することができない。 

 h3. パッチをコミットする 

 [[ロール#コミッタ|コミッタ]]は、「パッチ適用待ち」のコミットを見たら、いつでもこのパッチをコミットできる。 

 詳細は [[ロール#ブランチの起点について|ブランチの起点について]] に従う。 

 ただし、コミットする時にはgitコマンドの--authorオプションを使って、パッチを作った人をAuthorにすること。 

 このブランチをPushしたら、チケットのステータスを「レビュー待ち」に変更する。 

 この時、次のフィールドをそれぞれ以下のようにする。 

 - *ステータス*: 「レビュー待ち」 
 - *ブランチ名*: コミットしたブランチ名を入れる。 
 - *担当者*: ([[ロール#修正者|修正者]]) 

 

 h2. ステータス「toshi_aの判断待ち」の場合 

 このステータスの場合、toshi_aが「パッチ適用待ち」または「却下」にする。 

 このステータスになっていても、他のユーザがこのチケットについて意見を注記に書いて良い。 

 h2. ステータス「レビュー待ち」の場合 

 このステータスになる時、必ずカスタムフィールド「ブランチ名」に、修正がコミットされたブランチが書いてある。 

 h3. チケットの担当者が設定されてる場合 

 この場合は、設定された担当者がそのブランチをチェックアウトして動作確認を行う。 

 結果、このチケットで提案している機能が正しく実装できていることが確認できたら、ステータスを「マージ待ち」にする。 

 * *ステータス*: 「マージ待ち」 

 稀に、正しく意図が伝わっていなかったりバグが発生していることもある。そういう時にはチケットのフィールドを以下のように更新する。 

 * *ステータス*: 「まだダメ」 
 * *担当者*: このチケットのステータスを「レビュー待ち」に変えた人 
 * *注記*: どういった不具合が発生しているかを詳細に説明する。UI関連ならスクリーンショットなどを貼ると良い。 

 

 h2. ステータス「マージ待ち」の場合 

 このステータスになったチケットは、全ての修正、確認が終わっている。したがって[[ロール#コミッタ|コミッタ]]はすぐにこれをmergeしてよい。 

 ただし、mergeするブランチには注意すること。次のルールに従う。 

 * *developブランチから派生したブランチ* → developブランチにmergeする 
 * *タグ又はmasterから派生したブランチ* → masterブランチにmergeする 

 上記のルールに従ってmasterかdevelopにmergeしたら、チケットのフィールド「ブランチ名」のブランチは削除する。 

 その後、チケットのフィールドを以下のように更新する。 

 * *ステータス*: 「終了」 

 また、masterにmergeした場合は、そのmasterを更にdevelopにmergeしてもよい(see: [[リポジトリのブランチ名の規約]])。逆の、masterをdevelopにmergeするのは、マイナーリリースを行う時なので、toshi_a以外が行ってはならない。 

 h1. その他 

 h2. ブランチの起点について 

 ブランチ名は @topic/(チケット番号)-(適当な説明)@ という書式にする(例: <code>topic/1234-fix-hogehoge</code>)。 

 また、ブランチを始めるリビジョンも重要になってくる。以下のうちのどれかを選択する。可能な限り上のものを選択すること。 

 * masterのHEAD 
 * developのHEAD 

 また、コミットの一行目の末尾には、「refs #(チケット番号)」を必ず入れること。これによって自動的にチケットとコミットが関連付けられる。 

 もしPushしてからrefsの入れ忘れに気づいてしまった場合は、Redmineでそのコミットを開き、「関連するチケット」にそのチケット番号を追加すれば、手動で関連付けることができる。