1
特定のユーザーがチェンジセットをリポジトリのデフォルトブランチにプッシュするのを制限したいとします。可能であればどうしますか?変更セットをデフォルト(Mercurial)にプッシュしないように制限する
特定のユーザーがチェンジセットをリポジトリのデフォルトブランチにプッシュするのを制限したいとします。可能であればどうしますか?変更セットをデフォルト(Mercurial)にプッシュしないように制限する
ACL extensionが適しています。ただし、次の点を考慮する必要があります。
拡張子はサーバーリポジトリで有効にする必要があります。つまり、各務めリポジトリのhgrc
ファイルには、ACLの設定が定義されている必要があります。
[extensions]
acl =
[hooks]
pretxnchangegroup.acl = python:hgext.acl.hook
[acl]
sources = serve
[acl.deny.branches]
default = user1, user2, user3
プッシュが拒否されていこれらのユーザーは、システムユーザーです。つまり、ユーザー名は、Webサーバーによって提供された資格情報から取得されます。コミットメタデータのAuthor:
フィールドには、はありません。があります。
また、独自のpretxnchangegroup
フックを書くこともできますが、ACL拡張機能よりもはるかに能力がありません。
サーバーの設定に関する詳細情報をご提供ください。 – C2H5OH
私たちはWindowsサーバー2008がインストールされたマシンにリポジトリを保存します。そのマシン上の水銀のバージョンは1.7.5です。すべてのリポジトリはc:\ repositoryフォルダに移動するように設定されています。各ユーザーは自分のマシン上に独自のローカルクローンを持っています。ユーザーは、作業が完了したときにのみサーバーにコミットします。そこから、リポジトリに実際にコミットする前に、ユーザ名とパスワードでログインする必要があります。私は[acl.deny.branches]を使って調べましたが、実際にユーザーを制限することには何の幸運もありませんでした。 – themaniac27