2016-12-15 5 views
1

私はこの質問をどのように検索するのかわからないので、すでに質問されている場合は私に指示してください。Mercurial Repo Organization

私はMercurialのために新たなんだと私たちは私たちの現在のレポ組織に問題がある:

当社の現在のレポ組織は、私たちそれぞれが、我々はプル(各プロジェクトのために)私たち自身の作業リポジトリを持ち、にプッシュということですマスターレポ(各プロジェクトについても)。

問題は、私たちの作業リポジトリが会社のサーバー(マスターリポジトリとともに)にあり、サーバー上の作業リポジトリからのビルドがビルド時間が非常に長くなっていることです(ビルド時に40-50秒私たちのローカルハードドライブで約1秒かかる)。

明白な解決策は、私たちの作業レポをローカルハードドライブに移動し、サーバー上のマスターリポジトリとの間でプッシュ/プルすることです。

この問題の1つは、作業用のレポが物理的にローカルのハードディスク上にあり、会社のサーバーにバックアップされないことです。

ローカルのハードディスクにある個々の作業リポジトリに永続的に同期されたままになる「シャドー」作業リポジトリ(サーバー側にあります)を作成し、これらのうちの1つは、マスターレポとの間にありますか?

このようにして、作業時間の短縮と、作業リポジトリからのすべてのデータをサーバーにバックアップすることができます。

任意の入力/アドバイスのおかげで、 ショーン

+0

明らかにわからないのは、ローカルドライブ上の各ユーザーの作業用レポサーバーの「シャドー」作業用レポを意味します。 – Shaun

+0

水銀は集中管理されていないため、「作業中の」レポと「マスター」レコードの間に違いはありません。 –

+0

私は理解しているとは確信していません。私は水銀に慣れていないし、レポをセットアップしていません。 – Shaun

答えて

0

(それがバックアップされますように)あなたが会社のサーバー上のリポジトリのコピーを保持し、あなたがコンパイルできる(ようにローカルドライブにコピー簡単に)。プッシュ/プルと同期してコピーを保持します。

+0

ありがとうございました。私たちの作業担当者をサーバー上にクローン化して、私たちのローカルドライブとサーバーの間で手動でデータを手動で同期させる必要はありませんでした。 – Shaun

1

通常、コミットされたチェンジセットはリポジトリ間でのみ交換できます。さらに、それらは少なくとも位相草案でなければならない。水銀の中に作業ディレクトリの状態を共有する方法はありません。

あなたはおそらく頻繁にアトミックにコミットすることに慣れたがっているでしょう。コミット・フックを使用してローカル・サーバーにローカルに作成したすべてのコミットを簡単に自動的にプッシュできるようにすることができます。

さらに、セントラルサーバーをnon-publishing serverにすることを検討する必要があります。これは、草案段階でコミットをプッシュできることを意味し、その段階にとどまり、変更可能です。そうすれば、後で編集できるドラフトをプッシュすることもできます。あなたはあなたが「完了」したと思っているチェンジセットについて、手動で段階を一般に公開する必要があります。水銀のchangeset evolution extensionが便利になるかもしれない

+0

あなたのアドバイスをありがとう、あなたは私に考えて何かを与えました。 – Shaun