hub release create [TAG]
に参照されたタグと同じメッセージを使用させることは可能ですか? すでにタグを追加しているときに、エディターを開いてメッセージを追加したくありません。
タグメッセージをロードしてhub release create -m $tag-message
を使用するサブスクリプトを作成できると思いますが、この機能がすでに存在していて見つからなかった可能性はありますか?
こんにちはあなたの提案をありがとう! 明確にするために:注釈付きのgitタグについて話しているのですか?提案されたフローは、 hub release create TAG
がエディターを開かずに注釈付きタグのタイトルとメッセージを再利用するというものですか?
ハブが代わりにテキストエディタのコンテンツにgitタグからのメッセージを事前入力するが、 --no-edit
などのフラグを渡さない限り、テキストエディタを開くという考えを受け入れますか? 私がこれを提案する理由は、 hub release create
がテキストエディタを開くこともあれば、開かないこともあるので混乱するだろうと思うからです。
はい、注釈付きのgitタグです。 ご存知かもしれませんが、Githubリリースは注釈付きタグを生成しません(また、生成するオプションも提供しません)。 注釈付きタグを使用するには、手動でタグを付けます。
プロセスの最後に、タグのタイトル/メッセージをコピーして貼り付け、Githubリリースを手動で開き、最近プッシュされた注釈付きタグに基づいて新しいリリースを作成する必要があります。 タグのタイトル/メッセージを含むリリース機能の可能性があると、このプロセスを自動化するのに役立ちます。 同じ問題を抱えている人がウェブの周りにもっといます。
ハブが代わりにテキストエディタのコンテンツにgitタグからのメッセージを事前入力するが、
--no-edit
などのフラグを渡さない限り、テキストエディタを開くという考えを受け入れますか?
そのとおり。 私はUXの懸念を完全に理解しており、同意します。一貫性を保つ必要があります。 ただし、私のユースケースでは、 --no-edit
のみを使用し、ハブを手動で呼び出す場合にのみエディターを使用する可能性があります。
ps:コンテキストとして、私は現在、作成したbin/release
スクリプトを実行します。このスクリプトは、過去のコミットに基づいてリリースノートを作成し、それをメッセージとして(とりわけ)注釈付きタグを作成します。 hub
が注釈付きタグを作成した場合、おそらくgit tag
の部分を完全にバイパスして、$ hub
スタンドアロンで使用します。
注釈付きのgitタグの件名と本文を再利用してGitHubリリースをプログラムで作成するには:
git for-each-ref --format="%(subject)%0a%0a%(body)" refs/tags/<TAG> | \
hub release create -F- <TAG>
これは、タグがすでにリモートにプッシュされていることを前提としています。 これをリリースプロセスに組み込むことができます。
これは扱いにくいことに同意します。 ハブが注釈付きタグをより適切にサポートする方法を探るために、この問題をToDoアイテムとして開いたままにしておきます。 提案ありがとうございます!
リストに別の選択肢を追加したいだけです
これはgit tag --list
を利用します。 例えば:
TAG=${GITHUB_REF##*/} # in case you use it in github action
git tag --list ${TAG} --format='%(contents:subject)%0a%0a%(contents:body)' | hub release create --draft -F- ${TAG}
タグが署名されている場合にPGPSIGNATUREが出力されないように、 %(subject)%0a%0a%(body)
を使用する代わりに、 %(contents:subject)%0a%0a%(contents:body)
と記述する方がよいことに注意してください。 この動作はgit for-each-ref
にも見られます。
最も参考になるコメント
注釈付きのgitタグの件名と本文を再利用してGitHubリリースをプログラムで作成するには:
これは、タグがすでにリモートにプッシュされていることを前提としています。 これをリリースプロセスに組み込むことができます。
これは扱いにくいことに同意します。 ハブが注釈付きタグをより適切にサポートする方法を探るために、この問題をToDoアイテムとして開いたままにしておきます。 提案ありがとうございます!