問題タブ [pre-commit]

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 に答える
3471 参照

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

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

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

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

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

eclipse - Eclipseでは、あるフォーマットで編集して別のフォーマットでコミットするにはどうすればよいですか

私のチームの全員が同じフォーマッター設定を使用しているため、SVN リポジトリ内のファイルはフォーマットに基づいて変更されません。選んだフォーマットが嫌いで、ほとんど読めません。

編集中にファイルを自分のスタイルに自動再フォーマットし、コミット前にファイルをチーム設定に再フォーマットする Eclipse 用のプラグインまたは Eclipse の設定はありますか?

コミット前に現在のフォーマットを適用するためのヒントを見てきましたが、コミット前に他のフォーマットを適用したいと考えています。

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

svn - シェル スクリプトでのみサブディレクトリ名を検証する SVN pre-commit フック

サブディレクトリ名を yyyymmdd 形式で検証するプレコミット フックを追加しようとしています。プロジェクト フォルダ全体ではなく、特定のディレクトリにのみ適用する必要があります。フック スクリプトの作成を手伝ってください。

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

svn - SVN フック スクリプトの実行

私はSVNプロジェクトに取り組んでいます。詳細な手順で Cygwin を使用して SVN pre-commit フック スクリプトを実行する方法を説明できる人はいますか? 前もって感謝します。

0 投票する
5 に答える
2115 参照

git - プレコミットフックが実行された後、何をステージングしますか?

ステージングされたファイルを変更するpre-commitフックの場合、フックの実行後に何をステージングする必要があるかを理解する必要があります。

pre-commitフックは、コミットする必要のあるファイルにきれいな印刷を適用します。フックは次のタスクを実行します。

  • タブをスペースに置き換えます
  • 行末の末尾の空白を削除します
  • 二重の空行を削除します*)
  • 欠落している場合は、ファイルの最後に空の行を追加します*)

*)でマークされたアクションは、以下に説明する問題を引き起こしているアクションです。

これらが行われた後、フックはを使用して変更されたファイルをインデックスに追加しますgit add $filename。そうすることで、ファイル全体がステージングされ、変更されたファイルのごく一部(つまりハンク)のみをコミットできなくなります。

もちろん、git add --no-verifyフックをバイパスすることはできますが、を使用する場合はそのオプションを使用できませんgit gui。また、ファイルのステージングされた行にきれいな印刷を適用したいので、フックをバイパスすることは私の目的ではありません。

ファイル全体をステージングする代わりに、フックの実行後に適切なコンテンツをステージングできるように、きれいな印刷が適用された後にインデックスに何を追加する必要があるかを見つける方法はありますか?


編集1:David Brigadaによって提供され
答えは有望に見えますが、機能しません:ステージングされた変更をそのまま残します(これは良い部分です)が、(少なくともmsysgitでは)すべての変更を(ステージングされていないものだけでなく)隠し場所に入れますもの)。これにより、ステージングされた行が変更される可能性があるため、スタッシュをWCに戻すときにマージの競合が発生します。git stash --keep-index


編集2: gitがスタッシュをダーティなWCにマージすることを拒否しているため、 David
の更新された回答は成功しません。


編集3:larsksから
答えは、の使用法を示しています。一見すると、これは正しいように見えますが、チェックインされたバージョンがフィルターを介して実行され、WCがチェックインされたバージョンとは異なることは非常に混乱しています。少なくとも、それは私の経験であり、GitBookの次のコメントによって裏付けられています。.gitattributes

これらの変更をコミットしてファイルを再度チェックアウトすると、キーワードが適切に置き換えられていることがわかります

ファイルを削除してからもう一度チェックアウトして、フィルターによって適用された変更を確認する必要がありますか?とんでもない!これ以上のヒントはありますか?

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

svn - SVN の特定のフォルダに pre-commit フック (Windows バッチ ファイル) を使用するには?

空のログ メッセージをチェックする SVN (つまり、Windows の .bat ファイル) で pre-commit フックを作成したいと考えています。さらに、このチェックを SVN の特定のフォルダーに対してのみ対象にしたいと考えています。

誰でも同じことを手伝ってもらえますか?

よろしく、 ルヒー・ジャイスワル

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

git - pre-commit フックを使用して特定の作成者による git コミットを停止する

私の計画は git を使用して /etc の変更を追跡することですが、コミットするときに、コマンドラインに --author オプションを追加して、変更を行う人に自分自身を作成者として指定してもらいたいと考えています。

したがって、ルートとしての偶発的なコミットを停止したいと思います。

この pre-commit フックを作成しようとしましたが、機能していません。コミット行で作成者を指定しても、git var はまだルートを返しています。

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

python - Git pre-commitフック:変更されたファイルのリストを取得する

Gitoneを含むさまざまなコミットフックと統合するための検証およびリンティングユーティリティを開発しています

https://github.com/miohtama/vvv

現在、バリデーターとリンターは、コミットごとにプロジェクトコードベース全体に対して実行されます。ただし、変更されたファイルに対してのみ実行する方がはるかに最適です。このためには、Git precommitフック(Pythonの場合)で変更されたファイルのリストを知る必要があります

https://github.com/miohtama/vvv/blob/master/vvv/hooks/git.py

変更されたファイルのリストを抽出するために必要なオプションは何ですか(それが重要な場合はPythonで)?

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

python - Windows サーバーで SVN pre-commit スクリプトを失敗できない

私は SVN pre-commit.bat ファイルを作成しています。このファイルは Python スクリプトを呼び出して問題追跡システムにクエリを実行し、ユーザーが指定した問題追跡 ID が正しい状態 (「オープン」状態など) にあり、適切な状態に関連付けられているかどうかを判断します。事業。SVNサーバーはWindowsを実行しています(2003サーバーだと思います-問題がある場合はITグループに確認できます...)。

問題は、SVN コミットを失敗させることができないように見えることです*。それは常に成功します。私の知る限り、Pythonスクリプトは本来あるべきことを行っています。失敗した場合は「sys.exit(1)」を呼び出します (成功した場合は「sys.exit(0)」を呼び出します)。.bat ファイルについては、このフォーラムのいくつかの例を採用しましたが、うまくいくと言われていますが、まだ運がありません。少し簡略化した .bat ファイルを次に示します。

繰り返しますが、スクリプトが実行されていること (つまり、サーバー上の環境変数の問題ではないこと) と、sys.exit(1)コードがヒットしていることはわかっています。また、「err」関数が実行されていることは確かですが、単に「exit 1」の戻りコードが SVN によって無視されているということですか?

*注: 正確ではありません。コミットを失敗させた唯一の方法は、Python スクリプトに実行時エラーが発生した場合です。ただし、意図的な実行時エラーの生成は、この場合の回避策として受け入れられません。

ご関心をお寄せいただきありがとうございます。

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

svn - checkstyle の Svn precommit フック

これが私の現在のcheckstyleシェルスクリプトです。ブランチではなくトランクでコミットするとうまくいきます。うまくいかない理由がよくわかりません。誰か助けてくれませんか?

ありがとう!