問題タブ [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.
mercurial - Mercurialでのフックとラッピングコマンドの使用
フックを使用する場合と、特定のタスクのコマンドをラップする拡張機能を使用する場合の相対的な長所と短所は何ですか?
言い換えれば、フックを使用するか、コマンドをラップするかを決定するための基準は何ですか?
1つのアプローチが唯一の選択肢である場合もリストしてください。私が考えることができる1つのケースは、既存のコマンドに新しい引数を追加することです。引数を変更/削除することもできます。たとえば、デフォルトではデフォルトですlog
がlog -g
、graphlog
いくつかの「互換性のない」引数がある場合は中止します(を参照) 。強制中絶は人道に対する罪であるため、これらの場合に削除するラッパーgraphlog.check_unsupported_flags
を追加しました。log
-g
フックがよりきれいにカットされているように感じます。Pythonフックはhgプロセスで実行されるため、パフォーマンスの問題はありません。また、コマンドラッパーの作成には簡単に使用extensions.wrapcommand
できますが、フックを作成/無効にしたり、適用する順序を調整したりするのは簡単です(そもそもフックは自己完結型である必要があります)。
そして、これはhgrc docからの引用で、pre / postコマンドフックよりも標準フックを推奨していますが、ラッパー上のフックにも適用されます。
...「commit」のようなフックは、commitコマンドだけでなく、commit(タグなど)を生成するすべてのコンテキストで呼び出されます。
また、フックはGPLの対象ではない(またはそうですか?)のに対し、拡張機能のコマンドラッパーは対象ではないと思います。
(1.5k以上のユーザーがタグを作成できることを願っています。Gitmercurialhooks
ファンの男の子が私たちを打ち負かしましたgithooks
。)
python - Mercurial フックが別のファイルからコードを呼び出すことは可能ですか?
precommit_bad_branch
をインポートするという名前のフック関数がありhook_utils
ます。コミット経由で呼び出すprecommit_bad_branch
と、次のエラー メッセージが表示されます。
hook_utils
からの呼び出しは許可されていないようですprecommit_bad_branch
。Mercurial を使用せずに明示的に呼び出すと、コードは正常に機能します。
私のフックが別のファイルからコードを呼び出すことは可能ですか?
私の hgrc フック部分は次のようになります。
mercurial - Mercurial pre commit フック - ファイルの内容に基づいてコミットを停止しますか?
コミットされたファイル内の文字列を検索し、見つかった場合はコミットを停止する pre-commit フックを設定するにはどうすればよいですか?
mercurial - Mercurialフックへの相対パス名の使用方法
作業コピーのトップレベルにあるスクリプトがあり、それをMercurialフックとして使用したいと思います。フックに絶対パス名を使用する場合はすべて問題ありませんが、他の作業コピーで使用したり、他の開発者がhgrcをそのままコピーしたりできるように、相対パス名が必要です。
/space/project/.hg/hgrcに含まれるもの
genidスクリプトは/space/ project/genidにあります
/ space / projectにいる場合、フックは問題なく呼び出されますが、現在のディレクトリが/ space / project / src / toolsの場合、フックが見つからないため、「hgupdate」でエラーが発生します。
mercurial - 新しい頭を防ぐ水銀フックを作成するにはどうすればよいですか?
SVNから変換されたリポジトリがいくつかあります。今後は、リポジトリにプッシュしたときに追加のヘッドを作成できないようにする必要があります。TipsAndTricks wikiページ には、複数のヘッドがある場合にプッシュを防ぐフックがいくつかありますが、新しいヘッドをプッシュしないフックを作成するにはどうすればよいですか?
これを行う正しい方法は、リビジョン0:parentからのヘッドの数を比較してから0:tipを比較することであるように思われますが、それを行う方法が見つからないようです。hg heads -r $HG_NODE
ユーザーの最初のコミットがプッシュされた後のヘッドの数のみが表示されます。
mercurial - ステータスが -1 の Mercurial チェンジセット フックが存在する
HTTP の代わりに通常の共有フォルダを使用して LAN 経由で Mercurial SCM を使用していますが、自動更新フックを実行するのに問題があります。
FAQ に詳述されているように、このフックを入力しました。これでフックがインストールされますが、何かをリモート リポジトリにプッシュすると、エラーが発生します。
これに似た別のスタックオーバーフローの質問がありますが、どこかでアクセス許可エラーである可能性がある以外に解決策はありません。
他の誰かがこの問題を抱えていましたか?他の誰かがこれについてこれ以上光を当てたり、どこから修正を始めるべきかを教えてくれたりできますか? ありがとう。
mercurial - MercurialChangegroupフックはブランチによって異なります
Mercurialには、チェンジグループのように、プッシュでアクションを実行できるが、チェンジセットの影響を受けるブランチに基づいて複数のアクションを実行(または変更)できる既存のフックはありますか?
たとえば、プッシュが行われたときにURLでリスナーに通知する必要がありますが、理想的には、すべてを包括することなく、影響を受けるブランチに基づいてさまざまなURLに通知します。
mercurial - Mercurialchangegroupフックが間違って渡されていますHG_URL
Mercurialリポジトリに簡単なchangegroupフックを設定して、関心のあるユーザーに一連の変更を電子メールで送信しました。管理するリポジトリごとに1つのスクリプトを使用したいと思います。また、変更グループの元となったリポジトリを特定したいと思います。Mercurial Hooksのドキュメントによると、この目的で環境変数HG_URLを使用できます。ただし、この変数から期待するものが得られません。
期待される:
実際:
これがURLである理由と、変更グループフックに期待したものを取得するにはどうすればよいですか?
mercurial - 外部フック プログラム/スクリプトに渡されるフック パラメータは何ですか?
タイトルはそれを示しています: 変数名 (HG_*) を探しているので、フック スクリプトでそれらを利用できます..
mercurial - Mercurial のコミットフックをすべての仲間の開発者と共有するにはどうすればよいですか?
私たちはmercurialで作業しており、コードをきれいに保つためにprecommitフックを導入したいと考えています. 誰もが何らかの方法でフックを取得できるようにしたいと考えていますが、これを一元化された方法で更新できるようにしたいとも考えています。Mercurial はフックをバージョン管理しないので、代替オプションは何でしょうか? これに対する解決策を見つけた人はいますか?前もって感謝します!
ネミ