問題タブ [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.
svn - SVN フック「Could not MERGE resource」および Access Denied エラー
.NET コンソール アプリとして記述され、VisualSVN サーバーで実行されている SVN フックが問題を引き起こしています。(Tortoise を使用してリモートで、またはコマンド ラインを介してローカルで) コミットしようとするたびに、「アクセスが拒否されました」という応答が返されます。VisualSVN のイベント ビューアを見ると、「Could not MERGE resource…」で始まるエラーがあり、その後に「Access Denied」を繰り返す別のエラーが続きます。
pre-commit フックが無効になっている場合、コミットは正常に行われるため、リポジトリのアクセス許可とは関係ないと思います。pre-commit フックへのパスは間違いなく正しいので、SVN は正しい場所を探しています。また、自分のアカウントにローカル管理者権限を付与し、フック アプリのあるフォルダーで「読み取りと実行」を明示的に付与しようとしました。PreCommit.exe コンソール アプリを直接実行できるので、確実にマシン上で実行できます。
これは、リポジトリのフック フォルダーにある私の pre-commit.cmd ファイルです。
これはすべて私のローカル マシンで問題なく動作したので、すべてが構文的に正しいと確信しており、それは単なるパーミッション エラーです。何か案は?
svn - SVNエラー:コミットがpre-commitフック(終了コード1)によってブロックされ、出力:エラー:n / a(6)
いくつかの奇妙なエラーが突然どこからともなく発生し、TortoiseSVNを介してコードをチェックインできなくなりました。myversioncontrol.comで無料のアカウントを使用しています
これはWindowsVistaシステム上にあります。それはその日の早い時間までうまく働いていました。物事を正常に戻す方法の手がかりはありますか?
亀のウィンドウはこれを示しています
git - 一元化されたワークフローによる Git のバージョン番号付け
中央サーバーで Git を使用しており、コードにはファイルにバージョン番号を含める必要があります。これが現在行われている方法は次のとおりです。
- 新しい開発者が「git clone」を行う
- ローカル コピーで、.git/hooks/pre-commit を編集して version.sh を呼び出します。
version.sh (プロジェクト ルートに含まれる) は、"git describe" からバージョン番号を取得し、ファイルに格納します。
これは機能しますが、開発者が pre-commit フックを編集するのを忘れた場合でも、バージョン番号が更新されるようにしたいと思います。
サーバーには作業コピーがないため、(pre|post)-receive フックを呼び出すだけでは機能しないため、これを行う方法があるかどうか疑問に思っています。
python - Precommit フックを使用して Django テストを実行する
Mercurial の precommit フックを使用してすべての django テストを実行したいと思います。テストが失敗するたびに、コミットは中止されます。
目標は、ビルドを壊すコミットをできるだけ頻繁にブロックすることです。
編集:外部スクリプトルートを使用して終了しました。これが私の hgrc の関連部分です。
フック関数の進捗状況は次のとおりです。
ここで何が間違っていますか?
PS - 以下の全体に含まれる巨大なエラーのトレースバックを提供しています
ここに重要な部分があります:
そして残り:
svn - 変更なしで常に「変更」されるファイルに対する SVN のベスト プラクティス
Common-directory 内のファイルを参照するプロジェクトがあります。そのプロジェクトを開くかコンパイルするたびに、これらのファイルがコピーされます。タイムスタンプが変更されるため、Subversion はそれを変更として認識します。一般的な共通ディレクトリの新しい変更、またはプロジェクトの実際の変更のみをコミットしたい。コンパイラが私のために実行する自動コピーではありません。
ディレクトリとファイルを SVN に保持しながら、これらの非変更が変更として認識されないようにするにはどうすればよいですか? そのような状況に対処するための「ベストプラクティス」または「推奨される」方法はありますか?
git - Git pre-commitフック:変更/追加されたファイル
プレコミットフックを書いています。php -l
拡張子が.phpのすべてのファイルに対して実行したい。しかし、私は立ち往生しています。
ステージングされた新しい/変更されたファイルのリストを取得する必要があります。削除されたファイルは除外する必要があります。
git diff
とを使ってみgit ls-files
ましたが、ここに手が必要だと思います。
svn - 同じsvnバージョンで「コミットログ」自体をコミットする方法は?
不必要に聞こえるかもしれませんが、最初に私の問題を説明しましょう。おそらくそれは理にかなっているでしょう。
クライアントの変更要求に基づいて画像を更新し続けるアーティストはほとんどいません。アーティストはそれに応じて変更を加え、適切な「コミットメッセージ」でコミットします。実際にコミットする直前に、サイズやすべての「コミットメッセージ」などの画像プロパティを含むテキストファイルを作成したいと思います。そして、このファイルはそれ自体でコミットされます。したがって、基本的には、何らかの事前コミット処理が必要です。ほとんどのアーティストはsvnにあまり慣れていませんが、単純なテキストファイルを使用して、前回画像にどのような変更が加えられたかをいつでも確認できます。したがって、アーティストはsvnでのみ更新とコミットを行います。
これはどのように行うことができますか?
より良い選択肢はありますか?
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.
git - Git フックはファイルをコミットに自動的に追加できますか?
そのコミットで変更されたファイルに応じて、Git のコミット前またはコミット後のフックを使用して、自動生成されたファイルを同じコミットに追加したいと考えています。これについてどうすればいいですか?
これをプリコミットフックとして試しましたが、うまくいきませんでした:
これにより、それらがリポジトリに正常に追加されますが、コミットには追加されません。また、コミット前のインスペクションとともに、コミット後のフックで最後の2つのexec行を使用しようとしましたが、どちらもうまくいきませんでした。
svn - SVN pre-commit フック内のコンソール アプリから MSTest を呼び出そうとしていますが、エラーが発生しますか?
SVN pre-commit フック内から実行される単純なコンソール アプリから MSTest.exe を呼び出そうとしています。
TortoiseSVN を使用してコミットすると、以下のコンソール アプリ コードが自動実行されます。
(コードの後にスキップして、何が起こるかを確認してください...)
// コード
// 出力
これは、TortoiseSVN ウィンドウに表示されるものです。
エラー: コミットに失敗しました (詳細は次のとおりです):
エラー: コミットはプレコミット フック (終了コード 1) によってブロックされ、出力:
エラー: Microsoft (R) テスト実行コマンド ライン ツール バージョン 10.0.30319.1
エラー: Copyright (c) Microsoft Corporation. 全著作権所有。
エラー:
エラー: ファイル
エラー: "C:\Users\myname\Documents\SVN\Test\bin\Debug\TestProject1.dll"
エラー: 見つかりません .
したがって、MSTest を正しく呼び出していることがわかりますが、パスが間違っていると主張しています。
しかし、VS コマンド プロンプトを手動で開き、まったく同じパスを入力すると、コードはエラーなしで実行されます。
私は何を間違っていますか?