2

コミットごとにプロジェクトファイルの最新バージョンを別のフォルダーに取得する方法は?

私はVisualSVNサーバーを使用していますが、ポストコミットでフックでこれを行うことができると思いますが、方法がわかりません。サーバーは Windows 上にあります。

\www実際には、IIS7 のフォルダーに最新バージョンのファイルを取得する必要があります。単純に、最新のファイルを別のフォルダーに取得します。

4

3 に答える 3

3

post-commit フックに次のコードを追加しました (最新バージョンのファイルを にコピーするためD:\Destination)。

svn export --force file:///D:/Repositories/myproject D:\Destination
exit 2

それは私にとってはうまくいきます。

これを Web サイトのディレクトリにエクスポートしようとしている場合は、ディレクトリのアクセス許可を変更する必要があります。Visual SVN は NETWORK SERVICE を使用しています。

于 2013-07-25T05:29:58.763 に答える
1

リポジトリ内の複数のフォルダーで同じファイルを使用し、Subversion が 1.6 以降の場合、リビジョンにバインドせずに svn:externals のファイル タイプを使用できます。

この場合、SOURCE ファイルにコミットされたファイルは、通常の後に TARGET のワーキング コピーで更新されます。svn up

于 2013-07-23T14:45:42.130 に答える
1

しかし、私は方法がわからない

ポストコミットまでにやらなければならないというのは正しいことですが、そのプロセスがわからないということであれば、次のように説明します。

post-commit フックは、SVN リポジトリ内のプロジェクトにコミットするたびに呼び出されるスクリプトです。post-commit各リポジトリの hooks フォルダに呼び出されるファイルがあります。ファイルを変更して、必要なコマンド*を含めてコピーを実行し、実行可能ファイルにしますpost-commit.exe

その後、新しいリビジョンをコミットするたびに、そのスクリプトがそれを処理する必要があります。

*必要なコマンドとは、Windows コマンド プロンプトを介してコピーを実行するか、別のスクリプトを呼び出して 内からジョブを実行することを意味しますpost-commit.exe

また、SVN ドキュメントでは、ポストコミット フックはいずれか.batまたは.exeファイルである必要があると記載されていますが、.exe自分のマシン上にある場合にのみ機能します。

ここここ で利用可能なツールを使用して、.batファイルをバイナリに変換できます。2 つ目は、はるかにユーザー フレンドリーです。お役に立てば幸いです。.exe

于 2013-07-24T09:05:18.300 に答える