バージョン管理の拡張設定Mercurial
-
21-08-2019 - |
質問
通常、いように拡張子の添加により次の .hg/hgrc
:
[extensions]
hgext.win32text=
[encode]
** = cleverencode:
[decode]
** = cleverdecode:
しかし、私は、この設定する番号するのリポジトリでは有効にしない(同僚を構築し、機器)のクローニングのリポジトリご注意whomsoeverクローンをリポジトリにすべきことを要しない 何 うことによります。
ではできませんか の書類, が、なんだろうけど、日本人に合っ方々に支持してもらえればと思いきった。
解決
したいヘッドを次のように表いたときに自動的にクローンは、レポ-レート(更新のフックまたはconfig). 文書 とはできないのでいくらかの非常に良い理由
Hooks do not propagate
In Mercurial, hooks are not revision controlled, and do not propagate when you clone,
or pull from, a repository. The reason for this is simple: a hook is a completely
arbitrary piece of executable code. It runs under your user identity, with your
privilege level, on your machine. No comments
It would be extremely reckless for any distributed revision control system to
implement revision-controlled hooks, as this would offer an easily exploitable way to
subvert the accounts of users of the revision control system. No comments
で明らかにmercurialもない解決の問題です。することを明記したいものでmercurialを解決する問題で答えは:何を求めているのではない可能です。
の解決の問題はすべてのユーザーをインストールの少なくとも一定のスクリプトを実現する行動をしたいないことから、設置の右フック.
いないこ
- を一時スクリプトを施設まで格安料金プランを設けフックの右config入ります。hg専用アプリをインストール
- のフック、インストール後、アップデートできるスクリプトを配布configの更新ユーザー
- のフックを追加特別マーキングへのコミットメッセージ
- ごみの中のリポジトリコミットしないので特別なメッセージ
少し複雑ですが、それに最も近い感じのお客様の要件:
- ユーザーの実行スクリプトを一度も忘れ
- いているかどうか確認できますがなかったですが、彼らがコミットできないかについてを中央のレポ
他のヒント
のMercurialの現在の開発版では(7月1日のMercurial 1.3としてリリースされる)、その構成ファイル内%include
ディレクティブをサポートしています。
それはあなたが置くために人々を頼むことができることを意味します。
%include ../common-hgrc
.hg/hgrc
に。それをやった、あなたはその後、効果的にcommon-hgrc
への変更をコミットして自分のMercurialの設定を制御することができます。彼らは変更を引くと、新しい設定が有効になります。
これは危険であることに注意してください:あなたはあなたのリポジトリに変更をプルするために取得することができ、誰もが今common-hgrc
に任意のフックを挿入することができますし、次のMercurialコマンド(さえ「安全な」コマンドラインhg status
)上でそれらを実行します。
あなたは ProjRC延長を介して、その問題を解決することができるかもしれません。
「この拡張は、Mercurialが探し、パースの.hg / projrc追加の構成設定になります。ファイルがクローンにし、(決してプッシュオン)」
プルに転送され、何.hg/hgrc
からリンクを作成する方法について、例えばしますそれはバージョン管理されますようにcustomhg/hgrc
。そして、あなたはそのバック.hg/hgrc
にコピーし、それをいくつかのフックを作成する必要があります - 例えば各更新後ます。