2011-07-26 9 views
7

私たちは3人の開発者からなる小規模のチームです(Boss、私と他の開発者が主にリモートで働いています)。Mercurial HG用のリポジトリサーバーをセットアップすることになっています。Mercurialリポジトリを共有ネットワークドライブに入れるのは良い考えですか?

共有ネットワークドライブに私たちの集中リポジトリを置くことができるようです。設定は非常に簡単ですが、ソースリポジトリを直接操作/変更する際に悪用される可能性があるようです。そのため、私は、中央リポジトリへのアクセスを制御する方法としてHgWebdirサーバーを使用することを考えています。したがって、中央のソースリポジトリへの直接アクセスは推奨されませんが、共有ドライブはちょうどの場合にここにあります。

実際のバージョン管理の質問ではなく、社内のバージョン管理手順の定義が問題だと思いますが、私はまだ質問をしています。私が決定を下すのに十分な経験があると感じていないので、自分の理性と有効性を100%確信していなければ、バージョン管理システムを他の人が使用する方法を強制するのは難しいでしょう開発者。

編集:

私はバージョン管理ソフトウェアでの作業の共有フォルダ上の潜在的な問題があることがわかります。しかし、誰もが共有フォルダにプッシュすると、シーンの後ろで何が起こったのかを少し説明してくれますか?私の理解では、共有ドライブは本質的に共有リンク/ショートカットなので、共有ドライブの場合、ローカルマシン上のMercurialはそのリンクのロックを保持していますが、実際には各ユーザーのマシンがMercurialリンクをロックし、サーバのMercurialインスタンスは物理ドライブ上に独自のリンクを保持します。私はそれが複雑であることがわかりますが、どのように失敗するのでしょうか?私は結論を理解することができますが、結論に事実を結び付けることはできません。

+0

もう1つのポイントは、ネットワークドライブがしばしばSCMでうまくいかない奇妙なファイルシステムの意味を持つことです。少なくとも、それは関連したネットワークドライブの破損があった場合です(おそらく修正されていないでしょう)。 – tonfa

+1

ビットバケットやキルンのプライベートレポジトリのように、コードをオフサイトでホストしていると思いますか? –

+0

@Lasseいいえ、今はありません。ところで、Bitbucketでオープンソースのソースコードをホストすることが可能かどうかは誰にでも分かりますか?私はそれが推論のオプションであることを知っていますが、どうして私の上司に「どうしてですか?」と言ってもらうことはできますか? –

答えて

7

Mercurialはネットワークサーバ上の共有フォルダに配置しないでください。そのような設定では、Mercurialはすべての状況で確実にロックを保持できませんその中央リポジトリにプッシュする際には、リポジトリの破損を避けるためにロックが不可欠です。

実際に、私は「励まさない」除去するであろうと「ことはできない」と交換し、そして前者は長時間実行しているサーバー用の推奨設定され、いずれかhgwebまたはhg serveでリポジトリを提供しています。

+0

リポジトリストレージをネットワーク共有に配置してHGWEBを実行する方法はありますか? – Omar

2

中央サーバをお持ちの場合は、そこにhgwebをインストールして中央のBACKED-UPソースとしてプッシュ&プルできます。私たちはまだWindows 2003サーバーを持っています(私はそれを変更する立場にありません).Web上での少しの検索で、Windowsサーバー上でhgwebをセットアップする方法に関する情報を見つけることができましたが、ほとんどはWindows Server 2007を参照しました。

関連する問題