-
Notifications
You must be signed in to change notification settings - Fork 112
Commit rule
修正する場合には作業ブランチを作成する。
- ブランチになっていれば(並行して進行中の別の機能を除いた)その機能の修正だけを進められる
- 修正途中で他の人に見てもらい、その後さらに修正が入ることもあるので、ブランチになっていると管理しやすい
- その機能だけを追加したバイナリを AppVeyor でビルドできる
- コードのみ修正していてドキュメントがまだない、まだ翻訳が終わっていない、というような不完全な状態でマージしてはならない
- この作業ブランチの修正を stable_5_x にマージする必要があるか、issue に書いてわかるようにする
軽微な修正で、1コミットで完結するような場合はブランチを作らなくてもよい。 main への直接コミットを禁止しました。
cf. https://github.com/TeraTermProject/osdn-download/issues/13, https://github.com/TeraTermProject/teraterm/issues/371
WebEditor で解決すると、Shift_JIS のファイルが UTF-8 に変換されてしまう。
- https://github.com/TeraTermProject/teraterm/issues/178#issuecomment-2037368565
- https://github.com/TeraTermProject/teraterm/issues/178#issuecomment-2313665271
- fork した先でブランチを作ってもらい、そこで修正してもらう
- PR を出してもらう(TeraTermProject:main への PR になる)
- マージする
- コンフリクトが起こる
- 修正(upstream/main のマージ)をお願いする
- さらに修正が必要/修正しなければならない・ファイルが足りない(ドキュメント/変更履歴)状態で PR されてしまう
- Require approvals は使わない
cf. https://github.com/TeraTermProject/teraterm/issues/178
(1)コミットメッセージは修正した内容が簡潔に分かるように書く。
- 事例(1)
よくない例
プロジェクトファイルを修正した。
よい例
VS2005でビルドが通らない問題を修正した。
XXXヘッダファイルの指定ミス。
- 事例(2)
よくない例
TTSSHが落ちる問題を修正した。
よい例
SSH2接続でXXXした時にTTSSHが落ちる問題を修正した。
(2)チケットに関連するコミットメッセージにはissue番号を記載する
GitHub でソースを見たときに、コミットメッセージからissueへリンクが自動的に張られるからである。
XXXという問題を修正した。 #12345
- https://github.com/TeraTermProject/teraterm/blob/main/teraterm/common/ttlib_static_cpp.cpp
- https://github.com/TeraTermProject/teraterm/commit/638fc9d311d0ff77b21bfed989ad559803a42421
または
- https://github.com/TeraTermProject/teraterm/commits/main/
- https://github.com/TeraTermProject/teraterm/commit/e1ce9eaf62cfa108be17ab232f4cb10c6d1019cc
から
- https://github.com/TeraTermProject/teraterm/pull/329
- https://github.com/TeraTermProject/teraterm/issues/303
参考 cf. https://github.com/TeraTermProject/teraterm/issues/178#issuecomment-2020027091
ソースコードのコードレビュー(クロスレビュー・クロスチェック)は行わない。
コミットしたコードがかならずチェックされるわけではないため、コードレビューが必要な場合は、別途依頼を出すこと。
Tera Term, TTSSH, TTProxyなどのバージョン情報を上げるタイミングは決められています。 ドキュメントの「リリースの手順」を参照してください。
- リリース予定日の週にRC版が提供されるため、リリース予定日から約一週間前をコードフリーズとし、大きな修正は入れないものとする。
- コードフリーズ期間中はバグ修正のみ行う。
- ドキュメントに関してはリリース直前まで修正可能。
ドキュメントの「コードフリーズについて」を参照してください。
- lng ファイルを更新した場合は、1行目の「Updated by TeraTerm Project」の日付を更新する。
- 1行目の「TeraTerm Project 最終更新日」より 2行目の「最終翻訳日」が古い場合は「未翻訳部分がある」、つまり言語ファイルのメンテナンスが必要であることを表せるようになっています。
Wikiの「国際化メッセージの追加」を参照してください。
Wikiの「AppVeyor」を参照してください。