2

GerritCodeレビューを使用しています。

問題があります。Gerritにはいくつかのフックがあり、そのうちの1つは次のとおりです。

patchset-created --change <change id> --change-url <change url>
--project <project name> --branch <branch> --uploader <uploader>
--commit <sha1> --patchset <patchset id> 

Gerritに変更をプッシュすると、Gerritはそれを呼び出します。

渡されるcommitパラメーターはsha1コミット番号ですが、必要なのはコミットログです。たとえば、私がそうするならgit commit -m "id:110"、私は取得したいですid:110

どうすれば入手できますか?使用できるAPIはありますか?

4

2 に答える 2

5

正しいリポジトリ内から実行するgitlogまたはgitshowを使用できます。フックは--repositoryを介してリポジトリに渡されます。フックは便利な作業ディレクトリから呼び出されます(先週チェックインしたばかりですが、フックを実行する前にリポジトリにcdされていると思いますか?)

git log $SHA1または必要git show $SHA1な情報に応じて。

そうは言っても、私はより良い解決策を望んでいます。情報にdiff/patchsetを追加しようとしていますが、どのgerritフックからも利用できません。

于 2011-12-16T22:28:05.723 に答える
-1

私は自分で問題を解決しました。gerritにはそのようなAPIがないようです。ただし、パッチセットで作成されたフックが呼び出された場合、渡された変更パラメータは便利です。変更という名前のgerritデータベーステーブルの秘密鍵を参照する場合は、gitを押すたびに変更テーブルにそのような変更を記録し、コミットを含めます。メッセージ、つまり、changeパラメータを使用してテーブルをクエリできるので、フックからコミットメッセージを取得しました。

于 2011-03-21T03:47:35.773 に答える