如何在每次提交时将最新版本的项目文件发送到另一个文件夹?
我正在使用VisualSVN服务器,我认为我们可以在挂钩后的提交时执行此操作,但我不知道如何。服务器在Windows上。
实际上我需要将该文件的最新版本提供给IIS7的\www
文件夹。只需将最新文件发送到另一个文件夹即可。
答案 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
答案 2 :(得分:1)
但我不知道如何
你正确地说你必须通过提交后的方式来做,但如果你的意思是你不知道这个过程,那么就是这样。
您的提交后挂钩是一个脚本,在每次提交到SVN存储库中的项目后调用。每个存储库的hooks文件夹中都有一个名为post-commit
的文件。更改文件以包含必要的命令*以便为您执行复制并使其成为可执行文件post-commit.exe
。
之后,每次提交新版本时,该脚本都应该为您处理。
*我的意思是,通过必要的命令,通过Windows cmd提示进行复制,或者调用另一个脚本从post-commit.exe
内完成工作。
另外,即使SVN文档提到后提交钩子需要是.bat
或.exe
文件,我只有在我的机器上.exe
时才能使用它