問題タブ [mercurial-hook]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
1060 参照

mercurial - スクリプトに基づいて Mercurial サーバーへのプッシュを拒否するにはどうすればよいですか?

Mercurial サーバーへのプッシュで着信変更セットを調べ、変更セットが特定の標準に準拠していない場合はプッシュを拒否するスクリプトを書きたいと思います。私のオプションはprechangegroup、、、pre-changegroupおよびpretxnchangegroupフックのようです。残念ながら、prechangegroupおよびpre-changegroupフックは着信変更セットにアクセスできないようです。そのため、 が必要になりますpretxnchangegroupしかし、 http://hgbook.red-bean.com/read/handling-repository-events-with-hooks.html#sec:hook:pretxnchangegroupのドキュメントによると、これにより、リポジトリを使用している間に一貫性のない状態になる可能性があります。フックが実行されています:

「このフックの実行中に、他の Mercurial プロセスがこのリポジトリにアクセスすると、ほとんど追加された変更セットが永続的であるかのように表示されます。これを回避するための措置を講じないと、競合状態が発生する可能性があります。」

スクリプトがチェンジセットを拒否している最中に誰かがプルを行った場合に起こるランダムな奇妙さについて、私は本当に頭がおかしいわけではありません。使用できる別のフックはありますか? そうでない場合、私が取るべき「それらを回避するための手順」は何ですか? フック中にリポジトリをロックする方法はありますか?

0 投票する
1 に答える
219 参照

mercurial - フック用の Python コードはどこに置きますか

Mercurial フックで呼び出したい python スクリプトを作成しましたが、作業ディレクトリ (またはスクリプトへのパスを開始する場所) の場所がわかりません。

これはおそらく正しくないことはわかっていますが、次のようなフックを設定する方法が必要です... changegroup=python:e:\www\hg\hooks\teamTrack.py:associate

前もって感謝します。

0 投票する
2 に答える
1191 参照

mercurial - リポジトリにプッシュするときにユーザー名が有効であることをテストするMercurialフック

誰かが間違ったユーザー名で変更をプッシュしないようにしたい「中央」リポジトリがあります。

しかし、ポジティブリストに対してユーザー名をテストするフックを作成する方法がわかりません。MercurialAPIで

れは私が私のポジティブリストをテストしたいもののようです。

また、フックは、リポジトリクローンの一部として配布されるprecommitフックである場合もあれば、pre-incomingまたはそのようなものとして中央リポジトリのフックである場合もあります。

ヘルプやポインタをいただければ幸いです。

0 投票する
1 に答える
61 参照

mercurial - Mercurial でユーザーまたはグループに別のフック セットを使用することは可能ですか?

現在これが可能かどうかはわかりませんが、ユーザーまたはグループ (ACL 拡張からのグループ) に対して個別のフック セットを指定することは可能ですか?

各ユーザーのマシンでフックを個別に指定できることは知っていますが、中央リポジトリにもフックを配置したいと思います(プッシュ時にそれらのフックが実行されるように)。

例えば

グループAのフックがあるとします

グループA全員に

グループ A の誰かがプッシュした場合、グループ B のフックがトリガーされないようにしたい

これは可能ですか?グループごとに実行できない場合でも (Mercurial は Os レベルのグループを取得する必要があると思います)、Hg でユーザーごとに実行することは可能ですか?

0 投票する
0 に答える
336 参照

mercurial - hg clone error raise keyerror(key)

メインの mercurial リポジトリとリモート クローン リポジトリがあります。最初のクローンの後、pretxnchangegroup フック関数をメイン リポジトリに追加しました。フック関数はos.environ["REMOTE_USER"]、認証されたユーザーを取得するために使用します。hg push以前に複製されたリモートリポジトリから実行すると、フック関数は期待どおりに機能します。新しいクローンを作成しようとすると、問題が発生します。次のエラーが表示されます

pushvalidation.pyメインリポジトリのグローバル hgrc に配置されたインプロセスの pretxnchangegroup フックです。

Mercurial を使い始めたばかりで、これは私が書いた最初の大きなフック関数です。

0 投票する
3 に答える
714 参照

mercurial - 一度に 1 つのブランチのみにプッシュを制限するためのフック

複数のブランチをプッシュしようとしている場合に、リモート リポジトリへのプッシュをブロックするフックを作成しようとしています。

フックは次のとおりです。

問題: 2 つのブランチでコミットした場合:

hg push –b branch1 を使用してプッシュしようとすると、フックはデフォルトで ${HG_NODE} を 8d2bebe08dd9 として認識します。

リモートフックを介して、一度に 1 つのブランチのみにプッシュが行われるようにする方法はありますか?

あらゆる提案を受け入れます ( re: このワークフロー :) )

0 投票する
1 に答える
195 参照

version-control - MinGW で Mercurial pre-commit フックが機能しないのはなぜですか

.hgrc ファイルに pre-commit フックがあり、5MB を超えるファイルがリポジトリに追加されるかどうかをチェックします。フックは次のとおりです。

これは Linux (bash を使用) では問題なく動作しますが、MinGW では動作しません。MinGW シェル コマンド ラインから同じコマンドを実行するだけで、期待どおりに動作します。

エラーメッセージは

エラーは引用の仕方に関係していると思われますが、多くの組み合わせを試しました (バッククォートを $() に変更するなど) が、正しい答えが見つからないようです。

どんな助けや指針も大歓迎です。

0 投票する
1 に答える
492 参照

mercurial - Mercurialリポジトリ-サーバーでの毎日の自動hgadd/hgcommitコマンド

Mercurialをリポジトリとして使用しているWebサーバーがあります。毎日、アプリケーションによってサーバーにファイルが書き込まれているので、それらをリポジトリに反映させたいと思います。毎日実行される自動化された「hgadd」および「hgcommit」コマンドを追加して、これらのファイルを追跡し、開発者が自分のマシンで「プル」できるようにする方法はありますか?

助けてくれてありがとう!

0 投票する
2 に答える
1784 参照

mercurial - Tortoise Hg ログウィンドウにフック出力を表示するには?

パターンを使用してコミットコメントをチェックするmercurialの簡単なフックが必要です。これが私のフックです:

できます。'Comment does not match pattern. You must start it with "Issue 12323:" or "No Issue:"'コンソールからコミットすると、エラーメッセージも表示されます。しかし、Tortoise Hg Workbench からコミットしようとすると、システム メッセージのみが表示されます: abort: pretxncommit.check_comment hook exited with status 1.

何が問題なのかをユーザーに知らせる必要があります。Tortoise Hg にフックからの出力を強制的に表示させる方法はありますか?

0 投票する
1 に答える
498 参照

mercurial - タグ名にポリシーを設定するためのMercurialフック

ローカルでBADタグ名を追加しないように(処理中の)フックを作成します。

.hg / hgrc

.hg / hgcheck.py

pretxnchangegroupフックのこのチェックをどのように行いますか?

私はこのコードを書いてみます:

しかし、私が(上部の pretxnchangegroupフックを有効にしてリポジトリにプッシュする場合:

rev.tags()がggタグを返さないことがわかります!