同步视觉SVN与IIS的网页开发(或任何其他文件夹)

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

我正在使用VisualSVN服务器,我认为我们可以做到这一点在后钩子提交,但我不知道如何。 服务器在Windows上。

其实我需要把文件的最新版本到IIS7的\www文件夹。 简单地说,获取最新的文件到另一个文件夹。

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

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

这对我来说可以。

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

如果你在版本库中的多个文件夹中使用同一个文件,并且你的Subversion版本是1.6或者更高版本,你可以使用svn:externals的文件类型而不需要绑定到修订版本。

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

但我不知道如何

你正确地说,你必须通过post-commit来完成,但是如果你的意思是你不知道这个过程,那么这里是如何实现的。

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

之后,每次您提交一个新的修订版本,该脚本都会为您处理。

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

另外,尽管SVN文档提到post-commit钩子需要是.bat或者.exe文件,但是我的机器上只有.exe或者.exe才能工作。

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