私は今水銀プロジェクトにpre-commit
フックを持っています。希望する場合は、プロジェクトのバージョン番号を更新するオプションをユーザに与えます(例えば、1.0.1
または1.1
または2.0
)。彼らはこれらのオプションの1つを選択し、フックはコミットが行われる前にプロジェクトのファイルの1つのバージョン番号を更新します。Mercurialフック - フック間の情報を渡しますか?
hg commit
を実行すると、このフックが実行され、関連するファイルが新しいバージョン番号で更新され、コミットが実行されます。
フックに追加して、hg tag <new_verson_number>
も呼び出すようにしたいと思います。その後、タグは、タグは、日付のうち1つのリビジョンであることを引き起こして、インクルードが呼ばれコミット前に追加されますので、
しかし、私は、pre-commit
フックにこれを追加することはできません。
私はそうのような一連のイベントがあるように、(コミット後に実行)commit
フックにhg tag
コマンドを追加したい:私は「、ユーザーはそう言う
hg commit -m "my commit message"
- バージョン番号を変更したいDバージョン番号は、関連するファイルに更新され
- が発生コミット[ここまですべてがうまくある]
- ユーザーがバージョン番号を変更した場合は、コミットフック:
hg tag <new_version_number>
を実行します。hg tag <new_version_number>
、が、ユーザーは、バージョン番号を変更しないことを決めた場合はどうを実行
今、私はそれがに保存されているとのファイルから新しいバージョン番号を読み取るフックをコミット追加することができますか?その場合、私はタグを追加したい、私は盲目的に実行する場合hg tag <new_version_number>
私はしたくないタグで終わるでしょう。
ので - 私はcommit
フック(ノータグを追加するかどうかのはい/)のためのいくつかの情報を残すpre-commit
フックを伝えることができるいくつかの方法がある、とcommit
フックを追加するかどうかを判断するためにこれを使用することができますタグかどうか?
歓声。
私は少し問題を単純化しました。バージョンファイルには、変更される可能性のある他の情報が含まれていますが、バージョンの変更には寄与しません。おそらく、私はいくつかの(一時的な)環境変数をTRUE(1)またはFALSE(0)に設定し、コミット・フックでその変数をチェックするとしたら?それ以外は、使用していない環境変数でなければなりません。あるいは、コミットフックによって削除されるプリコミットフックの一時ファイルに書きましたか? –
ええ、どちらかがうまくいくでしょう。より一般的には、これはCI、継続的統合、サーバーによって行われます。たとえば、ジェンキンは、リポジトリを監視し、ビルドし、テストを実行し、タグ付けし、スクリプトが必要ないすべてのアーティファクトを投稿します。コミット時にこのようなことをすることは、設定されたフックなしでマシン上でコミットすることができるため、失敗する傾向があります。プッシュ・ツー・リリースのリポジトリを持つことで、素晴らしいチョーク・ポイントと多くの追加機能が提供されます。ちょうど私の$ 0.02。 –
乾杯、私はそれをします。私はあなたにテスト/作成/ホスティングを行ったシステムがあることを知っていましたが、彼らが何を呼んでいるか分からなかったのです。ポインタのおかげで、ジェンキンスについてお読みになります。 (私はbitbucketを使用することに制限されています)。 –