タイトル通りの質問です。gerrit や phabricator などのツールを使用して、コード レビューを改善したいと考えています。Git リポジトリをホストしているサーバーにアクセスすることはできませんが、gerrit または phabricator を実行できる別のサーバーがあります。どちらが優れているかによって異なります。
最初の質問: 可能ですか? 2番目:どうやってそれをするのですか?
タイトル通りの質問です。gerrit や phabricator などのツールを使用して、コード レビューを改善したいと考えています。Git リポジトリをホストしているサーバーにアクセスすることはできませんが、gerrit または phabricator を実行できる別のサーバーがあります。どちらが優れているかによって異なります。
最初の質問: 可能ですか? 2番目:どうやってそれをするのですか?
開発者が変更をリモートリポジトリにプッシュする可能性があり、Gerrit / Phabricatorが変更について知らない場合、適切なオプションはありません。コードレビューは、その時点では実際には有効ではありません。開発者は、完全に有効に見えるレビューのために変更をプッシュする可能性がありますが、実際には、これらの変更は、アップストリームで削除またはリファクタリングされたファイルに対して行われます。
私はPhabricatorにあまり精通していませんが、Gerritで機能する可能性のあるいくつかのオプションを次に示します。
Gerritにとってローカルファイルシステムのように見えるように、リモートリポジトリをローカルにマウントできますか?これが理想的なソリューションです。Gerritはこのリポジトリにプッシュしてマージの問題をキャッチし、ユーザーに提示します。
Gerritのレプリケーション機能を使用して、マージされた変更をリモートリポジトリにプッシュできます。マージの競合がある場合、それらを処理するための適切な方法がわかりません。
Gerritのフックを記述して、マージされた変更をリモートリポジトリにプッシュすることができます。これは#2よりも柔軟性があります-マージの競合時にフックからメールを受け取ることができます。
ソリューション2または3のいずれかを使用する場合は、Gerritのリポジトリのコピーを最新の状態に保つための何らかの方法が必要です。Gerritにプッシュした(レビューをバイパスする)リモートリポジトリのgitフックが最良のオプションです。それ以外の場合は、リモートサーバーへの変更をポーリングしてGerritにプッシュするスクリプトが必要になると思います。
Phabricator は、リポジトリのマスター コピーを必要としません。多くのインストール (Phabricator のメタインストールを含む) は現在、マスターへのアクセスを提供しない GitHub でそれを使用しています。
これは Phabricator が現在動作する唯一のモードです (現在マスターを管理することはできません) ので、通常のインストール手順に従って設定してください。
http://www.phabricator.com/docs/phabricator/article/Diffusion_User_Guide.html