2012-04-23 9 views
0

私たちの会社のイントラネットでは水銀を使用していますが、他の方法では公開できませんが、ファイアウォールの制限により共有ディスクは公開されません。 これは理想的ではなく、お勧めの方法ではないことは分かっていますが、今のところ(私が最終的にサーバを手に入れればRhodeCodeを設定しています)共有ディスク方式で発行されたMercurialリポジトリへのプッシュを禁止するにはどうすればよいですか?

Active Directoryアカウント(フォルダを右クリックして特定のユーザーと共有する)を使用してWindowsから変更したものは、sharing our repo folderで簡単に共有できることがわかりましたが、リポジトリにプッシュする

HTTPが使用されていないことを99%確信しているので、伝統的なメソッドは動作しません。 Mercurialの設定から直接これを制限するとは思わないので、私は回避策を探しています。限り、あなたは、人々が共有ディレクトリからの変更を取得するためにpushpullを使用していることを確認しているよう

+0

あなたは単に関係するフォルダにファイルレベルのアクセス権を使用していると思われましたか? –

+0

はい、リモートマシンのhgプロセスがファイルを変更するため動作しません。読み込みアクセスでは、自分の.hgフォルダを削除して、自分のソースファイルをさらに変更することをブロックします。 – dukeofgaming

答えて

2

(唯一の安全な方法ですを!)あなたはまだプッシュブロックするためにこれらのリポジトリにフックを使用することができます。リポジトリの.hg/hgrcファイルでこのような何かが押し防ぐことができます:/bin/falseは常にfalse /非ゼロを返し窓に何でも実行可能である

[hooks] 
pretxnchangegroup.denyall = /bin/false 

さらに、hg update nullを共有リポジトリベアレポジトリにすることを検討してください。これにより、作業ディレクトリからすべてのファイルが削除されるため、誰もそこで編集するように誘惑されません。

+0

ネットワークを介してデータを送信しないようにするのは、 – dukeofgaming

+0

Hrm、非常に可能性があります。既存のAclExtensionの使用がおそらく最良の選択です。 –

0

誰もが自分のレポ(読み取り専用)を共有し、公式リポジトリのメンテナーを含む他の人にそれを引き出すように求めることができます。

関連する問題