sounisi5011/vec-draw

scripts/commit-template.jsがcherry-pickに悪影響を及ぼす

Closed this issue · 2 comments

cherry-pickしようとしたところ、commitコメントにテンプレートの内容がそのまま入ってしまう問題が発生した。
cherry-pickする機会は少ないが、こんなややこしいバグは潰さねばならない。

COMMIT_SOURCEでちゃんと判定したほうが良さそうだ。

cherry-pickする場合、COMMIT_SOURCEの値は'message'になる。
これは、-mオプションなどを設定した時の値になる。
このような場合には、テンプレートの挿入は止めたほうがいいだろう。

そして、通常のcommitの場合は、COMMIT_SOURCEundefinedになる。
そうか、commit-templateのあの条件分岐はそういう事だったのか…

-mオプションや-Cオプションのようなエディタが出てこないモードでテンプレートは挿入してはならない。コメントが解釈されない。

ただ、これらすべてをCOMMIT_SOURCEの値で判定できない。
エディタが出る-cオプションも、エディタが出ない-Cオプションも、COMMIT_SOURCEの値は"commit"。他の引数や標準入力にも差はない。

判定できるとすれば、コミットメッセージにデフォルトで入力されるコメントの有無。要検証