Closed sounisi5011 closed 5 years ago
COMMIT_SOURCE
でちゃんと判定したほうが良さそうだ。
cherry-pickする場合、COMMIT_SOURCE
の値は'message'
になる。
これは、-m
オプションなどを設定した時の値になる。
このような場合には、テンプレートの挿入は止めたほうがいいだろう。
そして、通常のcommitの場合は、COMMIT_SOURCE
はundefined
になる。
そうか、commit-template
のあの条件分岐はそういう事だったのか…
-m
オプションや-C
オプションのようなエディタが出てこないモードでテンプレートは挿入してはならない。コメントが解釈されない。
ただ、これらすべてをCOMMIT_SOURCE
の値で判定できない。
エディタが出る-c
オプションも、エディタが出ない-C
オプションも、COMMIT_SOURCE
の値は"commit"
。他の引数や標準入力にも差はない。
判定できるとすれば、コミットメッセージにデフォルトで入力されるコメントの有無。要検証
cherry-pickしようとしたところ、commitコメントにテンプレートの内容がそのまま入ってしまう問題が発生した。 cherry-pickする機会は少ないが、こんなややこしいバグは潰さねばならない。