gerrit使用問題

1717 ワード

1、プロジェクト管理
1.1項目の削除
プロジェクトライブラリをファイルシステムから削除
gerritの再起動
1.2外部項目のアップロード
他の人のアイテムをアップロードすると、次のようなエラーが発生します.
remote: ERROR:  In commit dd3361336fc04bf20520a0bf93db1bd6d72215dc
remote: ERROR:  committer email address [email protected]
remote: ERROR:  does not match your user account.
「Forge Committer」と「Forge Author」のアクセス権を構成し、pushのコミット中ではないauthorまたはcommitterをGerritに無視させる必要があります.
参照先:http://stackoverflow.com/questions/9262297/git-mirror-with-gerrit
1.3一括変更項目の設定
ssh管理インタフェースの使用
すべてのプロジェクト名を取得
ssh admin gerrit ls-projects > projects
forループで各項目を設定する
for p in $(cat projects) ; do ssh admin gerrit set-project $p -t FAST_FORWARD_ONLY;done
2、
2.1、提出がフォーマットに合っているかどうかを自動的にチェックする
パッチコミット時のgerritメッセージフックの追加
$site_の編集path/hooks/patchset-created
スクリプトが呼び出されるパラメータのフォーマットは
patchset-created --change <change id> --is-draft <boolean> --change-url <change url> --project <project name> --branch <branch> --topic <topic> --uploader 
<uploader> --commit <sha1> --patchset <patchset id>

このスクリプトを有効にするにはgerritを変更する必要があります.confプロファイル、hooksセクションの追加
[hooks]
        path=/home/gerrit/review/hooks
        patchsetCreatedHook=patchset-created

フォーマットに合わないコミットが発生した場合は、スクリプトを使用してreview操作を自動的に追加できます.
ssh checker gerrit review -p ${project} ${commit} --message '"You commit message does not meet the desired format:"'
ssh checker gerrit review -p ${project} ${commit} --code-review -2

この場合gerritはパッチ送信者にメールを送信し、パッチ審査が通過しないことを通知します.