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



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

我使用的是VisualSVN服务器,我认为我们可以在钩子中的提交后实现这一点,但我不知道如何实现。服务器在Windows上。

实际上,我需要将该文件的最新版本获取到IIS7的www文件夹中。只需将最新的文件放到另一个文件夹即可。

我在提交后挂钩中添加了以下代码(用于将最新版本的文件复制到D:Destination)。

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

它对我来说很好。

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

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

在这种情况下,提交到SOURCE的文件将在通常的svn up 之后在TARGET的工作副本中更新

但我不知道是怎么回事

你正确地说你必须通过提交后完成,但如果你的意思是你不知道这个过程,下面是如何做到的。

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

之后,每次提交新的修订时,该脚本都应该为您处理它。

*所谓必要的命令,我的意思是,要么通过Windows cmd提示符进行复制,要么从post-commit.exe中调用另一个脚本来完成这项工作。

此外,尽管SVN文档提到提交后挂钩需要是.bat.exe文件,但我的机器上只有当它是.exe时,它才能工作。

您可以使用此处和此处提供的工具将.bat文件转换为二进制.exe。第二个更方便用户。我希望它能有所帮助。

相关内容

  • 没有找到相关文章

最新更新