mercurial:どのように同期mqパッチマスタからレポ-レートとしてmqパッチセットのクローン-レポ
-
26-09-2019 - |
質問
って、十数種類の異なる造り試験、コードベースに保持されmercurialリポジトリい走りを直列にこれらの試験で同リポジトリからの変更セットの共通ファイルのやりたいと考えて並列に異なる。また、すべての試験を行いたいのアクセスが最新の試験結果から試作ます。現在私のクローニングマスタリポジトリには十数回、各クローンの一つの異なる試験とします。各試験の前に実行うプル/アップデート/パージ作成シーケンスを開始するための試験の最新のクリーン状態です。れています。
私の準備も新しい変更を使mq拡張うに試験すべてのクローンと深いです。試験用のものは候補者mqパッチがいかに展開/同期して利用可能なクローン試験および適用の準備試験を利用ガードの前にテストです。
かったのもこの同期。何が最も簡単な方法はないのですか?いて収録mqパッチしょうか。
解決
のパッチは、自分のリポジトリに維持することができますが、そう
のようなのqinitに「-c」スイッチを通過してhg qinit -c
あなたはまだ
を経由して、事後にパッチレポを作成することができるかもしれcd .hg/patches
hg init
hg addremove
hg commit -m "my patches"
しかし、私は今まで個人的にすることを試していません。
は、その後の.hg /パッチは、他の水銀のリポジトリと同様に処理することができます。私は、あなたはおそらく、いくつかのシェルスクリプトをロールバックできると思います。 .hgディレクトリあなたのクローン化されたリポジトリのに入ると
を行うにはhg clone http://centralrepo.com/patch_repo ./patches
他のヒント
こちらのソリューションを感を実装します。Few notes:
- すべてのパッチガードready_for_testing、その無防備の応用が進められています。
- を収録レポ方が良いでし抽象化のキューの実装リポジトリ
- 使っていmercurial1.5.1
- マスターレポは
master
dir - クローン-レポれてい
clone-x
dirs
こちらのステップ(一部のできるオプション)
一:けのパッチマスタリポジトリの下にバージョン管理を用いmercurial:
a.hg -R master init --mq
#のないコミットがここでは、でき後
b.hg -R master commit --mq --addremove --message 'initial patch queue'
#うに見えるクローン-レポ各クローン、後にクローンの作成を終了:ないことを前提としてパッチを作成したものづくりクローンを初期化mqサブ-リポジトリ:
a.hg clone master\.hg\patches clone-x\.hg\patches
b.hg -R clone-x qselect ready_for_testing
各変更にマスタ(パッチ作成/輸入mqレポ-レート):この前の試験で
a.レビュー更新の警備員のmqパッチ:に含まれの試験は無防備または+ready_for_testing
b.hg -R master commit --mq -A
#うに見えるクローン-レポ各クローンは、各[テスト]を繰り返す各クローン:この準備配列の実行前に、実際の試験
a.hg -R clone-x qpop --all --force
b.hg -R clone-x pull
c.hg -R clone-x update --clean
d.hg -R clone-x purge --all
e.hg -R clone-x pull --mq
f.hg -R clone-x update --mq
g.hg -R clone-x qpush --all
Mercurialのバージョン1.5の時点で、すでに既存のMercurialパッチキューリポジトリを作成することができますが、次のコマンドを使用してレポます:
hg init --mq
あなたがそのコマンドを発行したときにキューに入れられたパッチを持ってOKです。