at posts/single.html

[tDiary]tDiary-3.2.1 RC とコードレビューの話

今月末にリリース予定の tDiary 3.2.1 が code freeze になったのでこの日記も追従。バージョンアップは例によってgit pull のあとに Unicorn の再起動だけ。特に問題なく動いている。

@hsbtさんも書いているように、 GitHub 上で pull request によるコードレビューを実施するようになってから、変更点を追いやすくて良い感じ。

5年前にチケット駆動開発のLTをやったときは(tDiaryの開発じゃないけど)こんな感じだった。

  • Tracでチケットを作る
  • コードを修正する
  • svn diff の結果をTracに貼り付けてコードレビュー
  • svn commitで反映

今はこうなった。

  • GitHubでIssueを登録
  • git co -b enhanced_pluginfix_123 のようにブランチを作成 (fixのほうはissue番号に合わせる)
  • コードを修正。大きめの修正はローカルでこまめにコミット。git rebaseでコミットを整理してgit push
  • pull requestを送ってコードレビュー。これ以降は git rebase を使わない。
  • ブランチをマージして完了。

ある程度の粒度では、ブランチ = Issue。1つのブランチには複数のコミットが含まれる。レビューの結果、特定のコミットのみをmasterにマージすることもある。Subversion の頃と比べると、pull requestを使うことでIssueとソースコードが自動で関連付けられるようになった(さらにCIツールでテストまで実行してくれる)のが便利。チケット好きとしては、いい時代だ。

関連する日記