2

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

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

实际上我需要将最新版本的文件获取到\wwwIIS7 的文件夹中。简单地说,将最新文件放到另一个文件夹中。

4

3 回答 3

3

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

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

这对我来说可以。

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

于 2013-07-25T05:29:58.763 回答
1

但我不知道怎么做

您正确地说您必须通过提交后执行此操作,但如果您的意思是您不知道该过程,那么这就是方法。

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

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

*我的意思是必要的命令,要么通过 Windows cmd 提示符进行复制,要么调用另一个脚本从post-commit.exe.

此外,即使 SVN 文档提到 post-commit 钩子需要是.bat.exe文件,我也只有当它.exe在我的机器上时才能工作。

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

于 2013-07-24T09:05:18.300 回答
1

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

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

于 2013-07-23T14:45:42.130 回答