コミットごとにプロジェクトファイルの最新バージョンを別のフォルダーに取得する方法は?
私はVisualSVNサーバーを使用していますが、ポストコミットでフックでこれを行うことができると思いますが、方法がわかりません。サーバーは Windows 上にあります。
\www
実際には、IIS7 のフォルダーに最新バージョンのファイルを取得する必要があります。単純に、最新のファイルを別のフォルダーに取得します。
コミットごとにプロジェクトファイルの最新バージョンを別のフォルダーに取得する方法は?
私はVisualSVNサーバーを使用していますが、ポストコミットでフックでこれを行うことができると思いますが、方法がわかりません。サーバーは Windows 上にあります。
\www
実際には、IIS7 のフォルダーに最新バージョンのファイルを取得する必要があります。単純に、最新のファイルを別のフォルダーに取得します。
post-commit フックに次のコードを追加しました (最新バージョンのファイルを にコピーするためD:\Destination
)。
svn export --force file:///D:/Repositories/myproject D:\Destination
exit 2
それは私にとってはうまくいきます。
これを Web サイトのディレクトリにエクスポートしようとしている場合は、ディレクトリのアクセス許可を変更する必要があります。Visual SVN は NETWORK SERVICE を使用しています。
リポジトリ内の複数のフォルダーで同じファイルを使用し、Subversion が 1.6 以降の場合、リビジョンにバインドせずに svn:externals のファイル タイプを使用できます。
この場合、SOURCE ファイルにコミットされたファイルは、通常の後に TARGET のワーキング コピーで更新されます。svn up
しかし、私は方法がわからない
ポストコミットまでにやらなければならないというのは正しいことですが、そのプロセスがわからないということであれば、次のように説明します。
post-commit フックは、SVN リポジトリ内のプロジェクトにコミットするたびに呼び出されるスクリプトです。post-commit
各リポジトリの hooks フォルダに呼び出されるファイルがあります。ファイルを変更して、必要なコマンド*を含めてコピーを実行し、実行可能ファイルにしますpost-commit.exe
。
その後、新しいリビジョンをコミットするたびに、そのスクリプトがそれを処理する必要があります。
*必要なコマンドとは、Windows コマンド プロンプトを介してコピーを実行するか、別のスクリプトを呼び出して 内からジョブを実行することを意味しますpost-commit.exe
。
また、SVN ドキュメントでは、ポストコミット フックはいずれか.bat
または.exe
ファイルである必要があると記載されていますが、.exe
自分のマシン上にある場合にのみ機能します。
こことここ で利用可能なツールを使用して、.bat
ファイルをバイナリに変換できます。2 つ目は、はるかにユーザー フレンドリーです。お役に立てば幸いです。.exe