2017-09-22 15 views
0

私はgitフックでたくさんのことをすることができると知っています。しかし、プッシュを別のブランチにリダイレクトすることは可能ですか?git pre-receive-hook redirect branch

は私がマスターからプッシュすると言うが、フックスクリプトでは、私は新しいブランチを設定し、それについて知ってプッシャーことなく、新しいブランチにこのブランチを作ります。これはgit内で可能ですか?

または私は手動で私が要求した枝にチェンジセットを適用されませんどのように新しいbranch.Butにそれをチェックし、(変更が、成功メッセージを拒否)エラーメッセージを返すことができませんでしたか?

答えて

0

私はしばらく前に調査しています。残念ながら、答えは「いいえ」と思われます。 pre-receiveフックは、ターゲットブランチを変更できません。さらに、ワイヤプロトコルでは、ターゲットブランチの名前をプッシュクライアントに報告しないので、ターゲットブランチをfooからbarに変更するためにサーバー側をハッキングしても、プッシュクライアントにはそれが必要であることを知らせる方法はありません更新参照origin/barではなく、origin/fooです。

+0

私は 'arcanist'を使わずに' phabricator'のdiffメカニズムのようなものを実装しようとしていました。これは、あなたが押し込んだどのブランチでも、 'push'(文字通りgit pushではなく)ごとに新しい一時的なブランチを作成します。これを純粋なgitプロトコルで行うことができるのだろうかと思います。私は参照を更新するためにクライアントを必要としません。問題は、どのようにしてチェンジセットを実際に適用することができないのですが、クライアントに成功メッセージを返します。 –

関連する問題