問題タブ [svn-hooks]

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 投票する
1 に答える
817 参照

windows - 作業コピーがネットワーク ドライブ上にある場合に作業コピーを更新するための SVN ポストコミット

私はかなり新しい Web 開発会社で働いており、現在、バージョン管理システムを実装するためにサブバージョンのインストールをテストしています。バージョン管理システムで実行する必要がある機能の 1 つは、コミット後に編集済みファイルで開発サーバーを更新することです。

システム要件のために、いくつかの個別の開発サーバーを維持する必要がありますが、すべての SVN リポジトリに対して 1 つのサーバーを維持したいと考えています。開発サーバーが SVN と同じ場所にある場合、更新は非常に簡単であることは理解していますが、それは私たちには不可能です。そのため、開発サーバーごとに個別のネットワーク ドライブを SVN サーバーにマップする必要があります。

ただし、コミット時にこのエラーが発生します。post-commit.bat ファイルで参照されている作業コピーのテスト ディレクトリは次のとおりです。

ただし、これはエラーになります...

これは、サーバーが私と同じユーザーではないため、「Z」にマップする必要がある共有がないためだと確信しています。これを回避する方法がわかりません。誰でも助けることができますか?

更新: これらの問題を調べれば調べるほど、問題の本当の解決策は、CI サーバーを使用して、私が達成しようとしていることを達成することであることがわかります。私は現在、TeamCity とそれが私たちに何をもたらすかを調べています。

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

svn - 一部の SVN タスク ..リモート ローカル同期など

これがセットアップです。多くのWindowsクライアントマシンがLAN内のローカルSVNサーバー(ubuntu)にアクセスします。

ローカル SVN サーバーもインターネットに接続されていますが、Windows クライアントは接続されていません。

一方向にミラーリングされたローカル SVN のすべてのリポジトリが必要なリモート SVN サーバー (ubuntu) があります。

つまり、ローカル SVN で更新、コミット、または変更が発生した場合は、リモート SVN サーバーでもそれらを実行する必要があります。これは可能ですか?

Windows クライアント マシンはリモート SVN サーバーにまったく接続できません。

実際のフックや必要なスクリプトを提供してもらえますか?

リモート SVN サーバーを更新するローカル SVN サーバーで 1 日 1 回実行される cron ジョブでも問題ありませんか? もしそうなら、どのような手順とどこから探し始める必要がありますか?

シャンティ

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

svn - コミット後のフックタイムアウト

https://wiki.jenkins-ci.org/display/JENKINS/Subversion+Pluginに示されているように 、誰かがSubversionに何かをコミットした場合に、Jenkinsビルドをトリガーするコミット後フックを作成しました。

最近、Jenkinsの認証サーバーの1つがダウンしました。コミット後のフックが2秒でタイムアウトしません。待って待つ。コミット後のフックでこれのタイムアウトを設定するにはどうすればよいですか?

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

svn - SVN: post-commit フックからファイル プロパティを取得する

post-commit フックからファイル プロパティを取得することは可能ですか?

変更されたすべてのファイルを確認したいのですが、そのうちの 1 つまたは複数に特定のプロパティがある場合は、何らかのアクションを実行したいと考えています。

^これはローカルの作業コピーからのみプロパティを読み取りますが、フックが実行されるenvにはありません。

ありがとう!

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

svn - CollabNet pre-commit フック - 初心者向け

CollabNet SVN をインストールしました。アクセスでき、いくつかのリポジトリを作成しました。2 つのフックを追加したい:

1) コミット中にコメントを必須にする pre-commit フック。フックはコメントの長さをチェックする必要があります。

2) bin および obj フォルダーの内容を無視するためのフック。

これらの両方のフックが SVN のすべてのユーザーにそれらをフォローするように強制する必要があるため、ローカルの Tortoise SVN ではなく、サーバー上にある必要があります。

その方法を教えていただくか、チュートリアルに案内していただければ幸いです。SVN関連の作業をするのはこれが初めてです。

ありがとう。

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

svn - TortoiseSVNのローカルフックとは何ですか?

TSVNがローカルフックをサポートしていることに気づきました。

誰かが彼らが何のために役立つことができるかを説明できますか?

私はすでにサーバー側のフックを使用して、コミットのログメッセージの入力を強制し、特定のファイルがチェックインされないようにしています。また、コミット後のフックを使用して、コミット時に電子メールを送信します。

AnkhSVNも使用していますが、ローカルフックはサポートされていないというのが私の理解ですが、それは正しいですか?

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

svn - VisualSVN フックでより関連性の高い情報を取得するにはどうすればよいですか?

Subversion (私の場合は VisualSVN) を使用すると、コミット前、コミット後など、さまざまな時点でスクリプトを開始できます。コミットが発生したときに、次の情報を含む電子メール通知を送信したいと考えています。

  • コミットしたSVNユーザー
  • ユーザーが入力したコメント
  • コミットされたレポの名前
  • 変更されたファイルのリスト
  • 取引ID

残念ながら、フックはこの情報の一部しか提供していないようです。post-commitフックは、リポジトリ名とトランザクション ID のみを提供します。にはstart-commitユーザーとレポ名がありますが、トランザクション ID はありません。また、コミット メッセージや変更されたファイルのリストを提供するフックが見つかりません。

この情報をフックで利用できるようにする方法はありますか? そうでない場合、コミット時にこの情報を郵送する他の方法はありますか?

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

build - Jenkins 部分ビルド / コミット フックでのモジュラー ビルド

ツール
ジェンキンス版。1.470
Maven 2
サブバージョン

環境

私のビルドに多数のプロジェクト AD があるとします。依存関係グラフは次のように存在します。つまり、B は A のクラスに依存し、C は B のクラスに依存し、D は A のクラスに依存します。ビルド後のアクションとして依存するビルドを呼び出すようにジェンキンス ビルドを作成します。

A
|--> B --> C
|--> D

毎晩、Jenkins で完全なビルドをトリガーします (A ビルド、B のトリガー (C のトリガー)、D のトリガー)。これは、A に毎晩ビルドするように指示するだけで簡単に実行でき、残りはカスケードします。

問題

ただし、コミットでは、一度コミットされたプロジェクトをビルドしたいと考えています。

  • 状況 1 : リポジトリをポーリングし (またはコミット フックを使用しても違いはありません)、B へのコミットがあったことを確認すると、B がビルドされ、C がビルドされます。 成功!

  • 状況 2 : リポジトリをポーリングし、B と C が 1 つのコミットでコミットされていることを確認すると、Jenkins は B のビルド (C のビルドのトリガー) と C のビルド (2 番目のビルド) を試みます。失敗。どうなるか見てみ?C は 2 回ビルドされ、貴重なビルド時間が費やされました。 ビルドを高速に保ちます。

コミットされた各ビルド パイプラインで最上位のプロジェクトのみをトリガーする方法を知っている人はいますか?

1つの解決策は、各パイプラインで最高のプロジェクトを決定する複雑なSVNフックになると思います...

  • 状況 3 : 1 回のコミットで BC と D にコミットします。SVN フックは、C が B に依存していることを検出します。フックは、プロジェクト固有のリンクを呼び出して、B と D のビルドを開始します。

落とし穴: 非常に複雑な SVN コミット フック。SVN フックでパイプラインを維持する必要があります。

これは他の人が遭遇した問題だと思います。これに役立つ Jenkins プラグインはありますか?

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

svn - Ant/Subversion フック: ${user.dir} はどのように設定されますか?

私の会社は、Visual Source Safe から Subversion に移行しています。当社のパイプライン管理ツールは、コードをバージョン管理からさまざまなテスト環境に移動するために、VSS が提供する「シャドウ フォルダー」の存在に依存しています。注: インタープリター型言語を使用し、ソース コードをオブジェクト コードに変換します。現在、ソース コードとオブジェクト コードの両方がバージョン管理下にあります (特にパイプライン管理機構のニーズのため)。

繰り返しのステップとして、Subversion にソース コードとオブジェクト コードの両方を保存する必要がないように、コミット時に翻訳を開始するという点で、シャドウ フォルダー機能を少し工夫して模倣しようとしています。注: コミット中に影響を受けるファイルを変換するためだけに、すべてのクリーンな「ビルド」を実行するプロセスをハックする必要がありました。このプロセスは、少しインタラクティブ性の低いもの (時間ごとのビルドなど) を優先します)。

この裏話はすべて、単に質問をするだけです: ${user.dir} プロパティはどのように設定されるのですか?

これは私のコミット後のフック バッチ ファイルです (すべて Windows で実行されます)。

最後の行は実際の Ant 呼び出しです。%BUILDDIR% または E:\builds\ にあるファイルに出力をリダイレクトしていることがわかります。このファイルは期待どおりに作成されます。これは、 %BUILDDIR% が正しくセットアップされていることを示しているため、次のようになります。

行が実行されているはずです。SVN が空の environmentで post-commit フックを開始することは理解していますが、その中のディレクトリを変更すると、Ant が開始されると状態が保持されるはずです。

その後、Ant スクリプトで ${build.dir} プロパティを次のように設定します。

%REPONAME% (バッチ ファイル内) が DEMO の場合、現在の作業ディレクトリは E:\builds\DEMO であると予想したため、${build.dir} は E:\builds\DEMO.build のようになります。 20120622.1127 ですが、代わりに C:\dev\shadow.build.20120622.1127 です。

私が理解しているように、Ant は単に${user.dir} のようなもののために Java からSystem.Propertiesを取得しています - ${user.dir} はUser's current working directoryとして記述されています。明らかに、私の実験に基づいて、バッチ ファイル内の初期セットアップと作業ディレクトリに関する Java の呼び出しの間で何かが交差しています。

Ant は作業ディレクトリをビルド ファイルの場所に変更しますか? それを示唆するドキュメントは見つかりませんでしたが、単に何かを見落としている可能性があります。%ANT_HOME% を定義しましたが、Subversion の「空の環境」を考えると、ロードされません...おそらく影響がありますか? 調査する必要がありますが、誰かがこれがどのように機能するかを簡単に知っていることを望んでいました.

編集 (2012-06-22-16:38):

%ANT_HOME%、%JAVA_HOME%、および %JAVA_CMD% をセットアップしようとしましたが、役に立ちませんでした。

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

svn - サブバージョンの検証

ソース管理ソリューションとしてSubversionを使用します。ただし、ファイルのチェックイン中にコメントを提供することに関しては、私のチームメイトのカップルはあまり忠実ではありません。

私は次のようないくつかの検証を行いたいと思います...

A.コメントは、少なくとも指定された文字数で必須です。B.チェックインコメントにはいくつかの単語が含まれている必要があります。C.ファイル名のスペースは拒否されます。

そうする方法はありますか?解決策を探してみましたが、うまくいかないようです...