似たようなことから始めましょう: 承認管理: 監査と QA
誰のため?
開発者のチームと別の QA チームを使用して、完全な実績を持つ明示的に承認されたコード履歴が必要な場合は、このワークフローが適している可能性があります。
要件
Mercurial (コマンド ライン)、データ交換用の共有リポジトリ (単一のプライベート bitbucket リポジトリと同様に、単純な SSH サーバーで十分です)、および GpgExtension だけが必要です。
フロー
このワークフローでは、開発用のデフォルト ブランチと、QA という名前のブランチおよびリリース ブランチを使用します。
利点は、デフォルトを QA にマージするには明示的なマージが必要であり、その後、それを担当する開発者によって GPG 署名される可能性があることです。
QA が変更の適用を完了すると、最初にデフォルトにマージして (開発者が QA バージョンで作業できるように)、リリースにマージし、GPG がマージ コミットに署名します。
デベロッパー
hg pull # 最新の変更を取得
hg アップデート
hg commit -m ""
hg update -C QA
hg マージ デフォルト
hg commit -m "QA 用にマージされたデフォルト ブランチ"
hgサイン
hgプッシュ
QA
hgプル
hg 更新 QA
hg commit -m "QA 修正"
hg update -C デフォルト
hg マージ QA
hg ci -m "QA 修正を開発ブランチにマージしました"
hg update -C リリース
hg マージ QA
hg commit -m "完成した QA をリリースにマージ"
hgサイン
変更
開発者と QA 以外の層が必要な場合は、リリース前に staging-release などの名前付きブランチを追加するだけです。
コードがすべての人によって実際にチェックされていることを確認するには、上位のリポジトリに入るために、すべてのヘッドが GnuPG 署名されている必要があることを要求できます。