問題タブ [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 投票する
2 に答える
3089 参照

mercurial - 大きなバイナリファイルのコミットを禁止するMercurialフック

トランザクションをコミットする前に実行されるMercurialフックが必要です。これにより、コミットされるバイナリファイルが1メガバイトを超える場合にトランザクションが中止されます。1つの問題を除いて正常に動作する次のコードを見つけました。チェンジセットにファイルの削除が含まれる場合、このフックは例外をスローします。

フック(私は使用していpretxncommit = python:checksize.newbinsizeます):

例外:

私はMercurialフックを書くことに慣れていないので、何が起こっているのかかなり混乱しています。hgがすでにファイルを認識しているのに、フックがファイルが削除されたことを気にするのはなぜですか?このフックを修正して、常に機能するようにする方法はありますか?

更新(解決済み): 変更セットで削除されたファイルを除外するようにフックを変更しました。

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

git - How does this pre-commit hook fix trailing whitespace?

What is going on in this pre-commit hook? I thought changing files would cause them to be restaged.

I think the idea is to remove trailing whitespace in all files this commit touches.

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

java - 一時的にコメントアウトされたコード(Java)のSVN Pre-commitフック?

テスト上の理由でコードの行をコメントアウトし、コメントされた行を使用してコードをリポジトリにチェックインすることになったのは偶然でした。

たとえば、EclipseRCPのジョブのルールを1行に設定しました。新しい機能を開発しているときに、ルールが設定されないように、この1行をコメントアウトしました。

数時間後、新機能が完成し、SVNにコミットする準備が整いました。私は多くのことを変更しましたが、通常はリポジトリとの同期(Eclipseの場合)を実行して変更をすばやく再確認し、すべてのクラスをざっと見て、ある種の心の健全性チェックを実行します(つまり、自分に本当に触れたかどうかを自問します)このクラス?)。しかし、私はすべての行をチェックするわけではありません。

したがって、この場合、コメントされた行を覚えておらず、SVNにコミットされました。

さて、このような間違いを防ぐための自動化を見つけることができるかどうか疑問に思いました。コードテンプレートまたはタスクタグを作成し、コメント行にこれをマークすることを考えました。次に、svnpre-commitフックでこのタスクタグを確認します。

しばらくグーグルで検索しましたが、何も見つかりませんでした。誰かがこれを行う方法を知っていますか?それとも、これに近づき、私が探しているものを達成するために小さな変更が必要なものですか?

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

python - SVN フック スクリプトの競合

フォルダー/ファイルの特定の svn プロパティを変更する pre-commit フック スクリプトを作成しようとしています。このスクリプトは、 svn book
に記載されているものとかなり似ています。

ノードのプロパティを設定/変更する方法を理解し、バインディング関数 svn.fs.commit_txn を実行すると、ノードのプロパティが実際に設定されます。しかし、現時点では、カメは常に、プロパティを変更しているフォルダーで競合を引き起こします。Python でスクリプトを作成しましたが、新しい Python およびフック スクリプトです。

なぜ私がこの競合を起こしているのか、誰かが私に手がかりを教えてくれることを願っています..

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

ms-access - Microsoft Access データベースへの変更のコミットをブロックする

変更が Access DB にコミットされる前に実行されるフックを作成する方法はありますか? 特定のプロセスが現在 DB を照会している場合、変更をブロックする方法を探しています。

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

svn - UTF-8 以外のファイル エンコーディングを防止する pre-commit フックを作成する方法

特定のエンコーディングでコミットされていないファイルを拒否できる git または svn の precommit フックを作成することは可能ですか?

特定のファイルエンコーディング(たとえばUTF-8など)に固執することが問題であると思われるいくつかのプロジェクトに取り組んできました

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

c# - コマンド ライン プリコミット フック アプリでエラーをクライアントに書き込むにはどうすればよいですか?

C# で pre-commit フックを作成していますが、失敗の場合は 1 を返し、成功の場合は 0 を返さなければならないことはわかっていますが、クライアントにメッセージを書き出すことができません。現在、私は使用しています

Tortoise はフィードバックを提供しているだけです。

エラー: コミットに失敗しました (詳細は次のとおりです): エラー: 出力なしでコミット前フック (終了コード 1) によってブロックされました。

コマンド ライン アプリケーションで svn クライアント (この場合は亀) にフィードバックを提供するにはどうすればよいですか?

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

git - git: 追跡されていないファイルをインデックスに追加せずに隠しておくことはできますか?

関連する質問追跡されていないファイルをどのように隠しますか? 「ファイルを追跡する」と答えました。ただし、これは私の特定のニーズには適していません。

git stash save --keep-indexpre-commit フックでインデックスを検証できるように、インデックスにないものはすべて隠しておきます。アイデアは、git-stash man ページの「部分的なコミットのテスト」の例からのものです。作業ディレクトリにあるものだけでなく、実際にコミットしているものがテストに合格することを確認したいと思います。これが私がこれまでに持っているものです:

これは、スタッシュされない作業ディレクトリに追跡されていないファイルがあるまで機能するようです。いくつかの検索の結果、2 年前から機能要求がありました。追跡されていないファイルや無視されたファイルを stash に保存するオプションがありましたが、それ以外は何もありませんでした。

スタッシュを使用する必要がありますか?おそらく、一時的なブランチなどを含むより良い方法があります。

0 投票する
10 に答える
38919 参照

git - Git フックはファイルをコミットに自動的に追加できますか?

そのコミットで変更されたファイルに応じて、Git のコミット前またはコミット後のフックを使用して、自動生成されたファイルを同じコミットに追加したいと考えています。これについてどうすればいいですか?

これをプリコミットフックとして試しましたが、うまくいきませんでした:

これにより、それらがリポジトリに正常に追加されますが、コミットには追加されません。また、コミット前のインスペクションとともに、コミット後のフックで最後の2つのexec行を使用しようとしましたが、どちらもうまくいきませんでした。

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

svn - ルート以外のディレクトリでsvn:mergeinfoを禁止するSvnpre-commitフック

開発者がルート以外のディレクトリにsvn:mergeinfoを設定できないようにするpre-commitフックを使用したいと思います。つまり、svn:mergeinfoは「trunk」や「branches/branchName」などのディレクトリにのみ設定できるようにしたいと思います。開発者は、ルートのサブディレクトリをマージターゲットとして使用することは適切ではないことを「思い出させる」必要がある場合があります(ここにリストされているベストプラクティスに従って)。誰かがそのようなフックスクリプトを持っているか、私がそれを見つけることができる場所を知っていますか?私はWindows環境にいるので、バッチまたはPowerShellが望ましいですが、何でも確かに役立ちます。