問題タブ [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 - svnkit: pre-commit フック中にアップロードされたファイルの内容を取得する
Javaでプリコミットフックを書いています。pre-commit フック (バッチ ファイル) は、次のパラメーターを使用して Java プログラムを呼び出します: repositoryLocation
, transactionId
. コミット中に XML ファイルを検証する必要があり、それらのいずれかが無効であると思われる場合は、コミット前のフックにゼロ以外の終了コードを返し、コミット トランザクション全体がロールバックされます。
次の方法で、ファイルの任意のリビジョンのコンテンツ コードにアクセスできます。
しかし、アップロードされているファイルのコンテンツ (ユーザーがコミットした作業コピーのコンテンツ) にアクセスできません。SVN に何も書き込みたくありません。アップロードされたファイルのコンテンツを読み取ってから、検証を行う必要があります。コミットまたはロールバックは、Java プログラムが終了した直後に SVN によって行われます。
誰でもこの問題で私を助けることができますか?
php - Phing PHP ビルド選択ファイル用の Git Pre Commit フック
コードファイルを git にコミットする前に、pre-commit フックを使用してコードファイルをチェックしたいと考えています。確認には、Phing (PHP ビルド ツール) を使用します。
ここに私の pre_commit_hook (MacOS) があります:
そして、ここにビルドファイルがあります:
現在、git はビルド プロセスを開始し、フォルダー「app」のすべてのファイルがチェックされます (コミットしたいファイルだけではありません)。プロセスの後、いくつかの失敗 (つまり、コーディング ガイドラインの違反) が見つかりますが、ビルド プロセスは終了し、ファイルはコミットされます (ただし、この場合はコミットされていません)。
ここに私の質問があります:
コミットしたいファイルのみを使用するように Phing に指示するにはどうすればよいですか。または: コミットするファイルに関する情報を git から Phing に転送するにはどうすればよいですか?
ビルド プロセスが失敗する必要がある場合、ビルド プロセスのターゲットで失敗したもの (ファイル名が間違っている、またはコーディング ガイドラインに違反しているなど) を「収集」し、制御するにはどうすればよいですか。
1 つ以上のターゲットが失敗した場合、戻り値 (1) を git に送信して、git がコミットを停止するにはどうすればよいですか?
adhoc-task で失敗したことを定義するにはどうすればよいですか (プロパティ ${failure} で試しましたか?
協力してくれてありがとうございます!
ステファン
pre-commit - Crucible Review Precommit を作成する
Precommit レビュー用の Crucible レビュー チケットを 1 つ作成したいと考えています。
GIT にまだコミットされていないパッチで新しく作成されたファイルを見つけることができないなどの問題に直面しています。
regex - コミット前のgitフックで正規表現を使用したgrep
私はデバッグコードをチェックするための小さなプリコミットフックを書いています。
しかし、次のように変更すると:
何もキャッチできません。
完全なコード:
その正規表現か何か他のものかどうかわからない
git - 私のgit pre-commitフックはAstyleを実行しておらず、変数を設定していません。なぜ?
IM は、コミットされる予定のファイルで Astyle (コード美化ツール) を実行するための単純な git pre-commit フックを書き込みます。コードは次のとおりです。
たとえば、「file1.c」という名前のファイルを git commit -a -m "test1" でコミットしようとすると、コンソールに次のように表示されます。
したがって、 git diff --name-only は FICHEROS で出力を設定していません。事前コミットが astyle のみを実行しようとすると、スクリプトは出力をスキップし、ファイルをフォーマットしません...
コンソールから .git/hooks/pre-commit を実行すると、次のようになります。
git が astyle を実行して pre-commit スクリプトで変数を設定できないのはなぜですか?コンソールから pre-commit を実行すると機能しますか?
delphi - 主なプロジェクトのmercurialへの初期コミット
Hg にコミットしたい 10 年以上のソフトウェア プロジェクトがあります。
これは Delphi 7 に関連するコード用であり、サード パーティ ライセンスのライブラリ、svn で管理されているオープン ソース ライブラリ、および私自身のコード (Delphi XE5 への移行を計画しています) が含まれています。
サード パーティ製および svn 派生のライブラリには通常、Delphi IDE にコンポーネントがインストールされており、「最新」バージョンを維持する必要があります (ロールバックすると通常 IDE が機能しなくなるため)。ロールバックされませんでした)。
私のレイアウトは次のとおりです。
つまり、デプロイされている場所に関係なく、すべてのプロジェクトに一般的に含めるコードを含む「共通」フォルダーです。
次に、顧客によってカスタマイズされたサブプロジェクトを含む、主要な製品ごとの内訳。
さまざまなチュートリアルを読みましたが、何かが足りないようです...
..\CodeRoot に移動して Hg Init を実行すると、CodeRoot の下にあるすべてのものをローカル リポジトリに追加する方法がわかります。
単一のリポジトリの下にすべてを置いて満足できるかどうかは、私には明らかではありません。
OTOH、その一番上の「共通」フォルダーがすべてにない場合、問題があります。
各主要プロジェクトの「共通」には同じ問題があります。
私の「粒度」がどうあるべきかはまだわかりません.MajorProjectごと、またはCustProjectごとのリポジトリです。
だから - 質問:
1)「メジャープロジェクトごと」を使用する場合-その最上位の「共通」フォルダーを処理する方法は?
2) 「CustProject ごと」を使用する場合 - 最上位およびメジャー プロジェクトごとの共通フォルダーを処理するにはどうすればよいですか (最上位とは異なる方法で処理される場合)。
3) 最後に、(ローカルではなく) リモートの中央リポジトリを作成したい場合、すべてのファイルをリモートの中央リポジトリに安全に移動してから、自分のマシンにローカルでクローンを作成するにはどうすればよいですか?
ティア。
乾杯、EDB