如何在每次提交时将最新版本的项目文件放到另一个文件夹中?
我正在使用 VisualSVN 服务器,我认为我们可以在提交后挂钩中执行此操作,但我不知道如何。服务器在 Windows 上。
实际上我需要将最新版本的文件获取到\www
IIS7 的文件夹中。简单地说,将最新文件放到另一个文件夹中。
如何在每次提交时将最新版本的项目文件放到另一个文件夹中?
我正在使用 VisualSVN 服务器,我认为我们可以在提交后挂钩中执行此操作,但我不知道如何。服务器在 Windows 上。
实际上我需要将最新版本的文件获取到\www
IIS7 的文件夹中。简单地说,将最新文件放到另一个文件夹中。
我在 post-commit 钩子中添加了以下代码(用于将最新版本的文件复制到D:\Destination
)。
svn export --force file:///D:/Repositories/myproject D:\Destination
exit 2
这对我来说可以。
如果您尝试将其导出到网站目录,则需要更改目录权限。Visual SVN 正在使用网络服务。
但我不知道怎么做
您正确地说您必须通过提交后执行此操作,但如果您的意思是您不知道该过程,那么这就是方法。
您的 post-commit 钩子是一个脚本,在每次提交到您的 SVN 存储库中的项目后调用。post-commit
每个存储库的 hooks 文件夹中都有一个文件。更改文件以包含必要的命令* 为您进行复制并使其成为可执行文件post-commit.exe
。
之后,每次您提交新修订时,该脚本都会为您处理它。
*我的意思是必要的命令,要么通过 Windows cmd 提示符进行复制,要么调用另一个脚本从post-commit.exe
.
此外,即使 SVN 文档提到 post-commit 钩子需要是.bat
或.exe
文件,我也只有当它.exe
在我的机器上时才能工作。
如果您在存储库中的多个文件夹中使用相同的文件并且您的 Subversion 是 1.6 或更高版本,则可以使用 svn:externals 的文件类型而不绑定到修订版。
在这种情况下,提交到 SOURCE 文件将在 TARGET 的工作副本中更新svn up