将Visual SVN与IIS同步以进行Web开发(或任何其他文件夹)

时间:2013-07-23 13:12:37

标签: windows svn iis iis-7 visualsvn-server

如何在每次提交时将最新版本的项目文件发送到另一个文件夹?

我正在使用VisualSVN服务器,我认为我们可以在挂钩后的提交时执行此操作,但我不知道如何。服务器在Windows上。

实际上我需要将该文件的最新版本提供给IIS7的\www文件夹。只需将最新文件发送到另一个文件夹即可。

3 个答案:

答案 0 :(得分:3)

我在post-commit hook中添加了以下代码(用于将最新版本文件复制到D:\Destination)。

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

它适用于我。

如果您尝试将此导出到网站目录,则需要更改目录权限。 Visual SVN正在使用NETWORK SERVICE。

答案 1 :(得分:1)

如果您在存储库中的多个单个文件夹中使用相同的文件,而Subversion是1.6或更高版本,则可以使用svn:externals的文件类型而不绑定到修订版。

在这种情况下,提交到SOURCE文件将在通常的svn up

之后在TARGET的工作副本中更新

答案 2 :(得分:1)

  

但我不知道如何

你正确地说你必须通过提交后的方式来做,但如果你的意思是你不知道这个过程,那么就是这样。

您的提交后挂钩是一个脚本,在每次提交到SVN存储库中的项目后调用。每个存储库的hooks文件夹中都有一个名为post-commit的文件。更改文件以包含必要的命令*以便为您执行复制并使其成为可执行文件post-commit.exe

之后,每次提交新版本时,该脚本都应该为您处理。

*我的意思是,通过必要的命令,通过Windows cmd提示进行复制,或者调用另一个脚本从post-commit.exe内完成工作。

另外,即使SVN文档提到后提交钩子需要是.bat.exe文件,我只有在我的机器上.exe时才能使用它

您可以使用可用工具herehere.bat个文件转换为二进制文件.exe。第二个更加用户友好。我希望它有所帮助。