問題タブ [pre-commit-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 投票する
3 に答える
95 参照

svn - 2 つのファイルが同じ Subversion コミットに含まれるようにするにはどうすればよいですか?

私は、バイナリ ファイルである MySQL ワークベンチ ファイルとして維持されるデータベースを使用してプロジェクトを開発しています。コミット間のバイナリ ファイルの違いを簡単に見分けることはできないため、コミットする前にそのスキーマの SQL 作成スクリプトを更新する必要があります。そうすれば、SQL ファイルの差分を実行して、何が変更されたかを確認できます。

忘れたり怠けたりして、SQL ファイルを更新しない人が時々います。サブバージョンを使用して、ワークベンチ ファイルを含むコミットには SQL ファイルも含める必要があることを要求するにはどうすればよいですか?

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

svn - Subversion: pre-commit フックでユーザーの IP アドレスを取得しますか?

分散型ソフトウェア開発用の Subversion リポジトリをホストしています。そのため、非従業員はソース コードの一部にアクセスできます。当社の IT セキュリティ ポリシーでは、社内イントラネットの外部からアップロードされたすべてのファイルをウィルス スキャンする必要があります。すべての社内コンピュータには、最新のウィルス スキャナが装備されています。

ウイルス スキャンを Subversion の precommit-hook に統合する予定です。ただし、これにより、大規模なコミットを実行するときに遅延が発生します。そのため、イントラネットの外部で発生したコミットのみをスキャンしたいと考えています。発信元を特定するには、コミットを実行しているユーザーの IP アドレスが必要です。一部の従業員は自宅で仕事をしているため、ユーザー名を使用してインターネットからのコミットを識別することはできません。

したがって、最後に私の質問:

Subversion precommit フックでコミットが実行される IP アドレスを取得するにはどうすればよいですか?

0 投票する
4 に答える
502 参照

php - PHPデバッグ出力がsvnでコミットされないようにするにはどうすればよいですか?

QAが物事を調べて、「すべてのページに巨大なテキストブロックがあります!!」のようなバグを報告しないように、デバッグ機能var_dump, print_r, etc...がレポにコミットされないようにしたいと思います。

私は正規表現を試しました(良い考えではありません...おそらく)。

私も試してみtoken_get_allましたが、何らかの理由でT_STRING、デバッグ機能ごとに返されるので、うまくいくと思いますが、奇妙に思えます...

3番目のより良い方法はありますか?

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

mercurial - 内部 Mercurial API を使用して、2 つのリビジョン間の変更セットのリストを取得するにはどうすればよいですか?

pre-commit-hook でユーザー名を確認したい。コマンドラインから、達成したいことは次のようになります。

内部 Mercurial API を使用して同じことを達成するにはどうすればよいですか?

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

git - 1つのファイルの変更を追跡するgit

私たちは大きなレポとたくさんのコミッターを持っています。

単一のファイルの履歴を追跡したい。誰かがそれを変更するたびに (変更を私の中央リポジトリにプッシュする)、差分と作成者名が記載された電子メールを受け取ります。

pre-commit フックを作成すると問題が解決することはわかっていますが、スクリプトをすべてのコミッターに伝達する必要があります。

マージ前 (またはマージ後) のフックはありますか?

一時的な解決策は、ファイルを変更する 10 分ごとにチェックする cron タスクです。

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

erlang - ErlangのRiakプリコミットフック?

キーと値のペアの値のすべての文字を特定のバケットですべて大文字に変更するには、どのように pre-commit フックを作成すればよいでしょうか?

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

svn - SVN pre-commit フックでのユーザー検証

mcdon によるタグのサブディレクトリへの変更を回避するために、SVN pre- commit フックで便利な SVN pre-commit フックの 1 つを見つけました。

コミットする前に、ユーザーに検証チェックを追加したいと思います。以下のようなことはできますか?

すべてのユーザーがファイルをコミットできるため、上記の pre-commit スクリプトは失敗しました。また、上記の echo ステートメントが表示されないため、「echo」コマンドが機能しません。誰でも助けることができますか?

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

svn - SVN pre-commit フックの失敗

以下は、テキストとオープン トラック チケットをチェックするための pre-commit フックのコードです。テキストチェックは機能しますが、代入が svnlook からテキストを取得して変数 $LOG に配置すると、ログが見つからないというエラーが発生します。私はただ精神的で愚かなことをしているだけだと確信していますが、なぜこれが機能しないのかについて私を回避しています。任意の助けをいただければ幸いです。

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

svn - Windows でのフック スクリプト commit-mime-type-check.pl の奇妙な動作

svn.apache.org からプレコミット フック スクリプト「commit-mime-type-check.pl」をダウンロード ました. しかし、次のエラーが発生しています

私は自分でデバッグし、失敗した場所を見つけました。

「-|」で開くことについての説明を読みました [_http://perldoc.perl.org/perlipc.html#Using-open()-for-IPC] で安全なパイプを開く

Safe Pipe Opens IPC のもう 1 つの興味深いアプローチは、単一のプログラムをマルチプロセスにして、ユーザー間 (またはユーザー間) で通信することです。open() 関数は、「-|」のいずれかのファイル引数を受け入れます。または "|-" を使用して、非常に興味深いことを行います。これは、開いたファイルハンドルに接続された子を fork します。子は親と同じプログラムを実行しています。これは、たとえば、想定された UID または GID で実行しているときにファイルを安全に開くのに役立ちます。マイナスへのパイプを開くと、開いたファイルハンドルに書き込むことができ、子供はそれを STDIN で見つけることができます。マイナスからパイプを開くと、開いたファイルハンドルから、子供が STDOUT に書き込んだものを読み取ることができます。

私が理解できないのは、非互換性か何かによるものです。もともとはLinuxボックスで書かれていたため、パイプとインターンプロセス通信が非常に豊富です。私はいつもウィンドウが貧弱だと思っています.

私はすべてを試しましたが、ついに失敗しました。誰かが同じ問題に直面している場合、これについてグーグルで検索しようとしました. 多くのリンクはありませんが、これを見つけました興味深い部分はこれです。未解決です。だったらここで聞くしかない。

以下は、参照用のスクリプトコードです

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

svn - Subversion の pre-commit フック スクリプトをデバッグするにはどうすればよいですか?

これは非常に基本的な質問のようですが、私はノックアウトされています。フック目的で作成したスクリプトをテストする方法。

スクリプトがバックグラウンドで実行されていることがわかっているため、SVN コンソールからエラーのみが返されます。ブレークポイントを試しましたが、スクリプトに入力できるものはありません。

誰かがそれについて何か考えを持っていますか。Windows で svn フック スクリプトを作成しているため、既に作成されている多くのフック スクリプトが実行されていないか、必要な出力が得られません。たとえば、Apache の mime-type と eol スクリプトを確認してください。