使用VisualSVN Server进行提交后挂钩

时间:2013-09-06 12:08:23

标签: svn visualsvn-server svn-hooks

我正在使用Windows Apache,MySQL,VisualSVN服务器和TortoiseSVN客户端。

我们有一个多系统环境。我有一个工作副本(根目录文件夹),我的网站正在工作。

有各种各样的用户定期向SVN服务器提交网站更改,但这些提交不会在实时网站工作副本上更新。

我正在寻找实现提交后挂钩以自动更新实时网站工作副本的确切过程。我需要做些什么才能实现这个目标?

1 个答案:

答案 0 :(得分:0)

您的描述还不够(尚未)。所以我描述了可能有用的东西(我不喜欢它......)。

  1. 在服务器X上创建存储库。
  2. 在目录svn-web中的服务器X上签出存储库的一部分(您希望成为实时部分)。
  3. 确保apache提供svn-web,并尝试隐藏目录svn-web/.svn,以便用户通过浏览器看不到该目录。或者仅由Apache提供svn-web的子目录,因此svn-web/.svn会自动隐藏。
  4. 实现post-commit-hook(如SVN Red Book中所述)。
  5. 包含以下内容:cd svn-web; svn update .
  6. 然后会发生以下情况:

    1. 开发人员在本地更改svn-web目录树的某些部分。
    2. 当他完成改变后,他会犯下这些改变。
    3. 如果提交成功(预提交未拒绝),将触发提交后挂钩。
    4. 将在已检出目录中的服务器上进行更新,以便下一个Web请求将看到不同的来源。
    5. 为什么我不喜欢它?

      • 并非Subversion中的每个提交都是自包含的,因此可能存在对最终用户而言“不好”的中间状态。
      • 在最终用户找到错误之前,没有测试,集成,......阶段。