【问题标题】:Post-commit hook using VisualSVN Server使用 VisualSVN 服务器的提交后挂钩
【发布时间】:2013-09-10 12:56:41
【问题描述】:

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

我们有一个多系统环境。我有我的网站的工作副本(根目录文件夹),可以作为实时服务。

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

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

【问题讨论】:

标签: svn visualsvn-server svn-hooks


【解决方案1】:

您的描述不充分(还)。所以我描述了一些可能有用的东西(我不喜欢它......)。

  1. 在服务器 X 上创建存储库。
  2. 在服务器 X 上的目录 svn-web 中签出部分存储库(您希望成为活动部分)。
  3. 确保svn-web 由apache 提供服务,并尝试隐藏目录svn-web/.svn,使用户无法通过浏览器看到该目录。或者仅由 Apache 提供 svn-web 的子目录,因此 svn-web/.svn 会自动隐藏。
  4. 实施提交后挂钩(如SVN Red Book 中所述)。
  5. 在该挂钩中包含以下内容:cd svn-web; svn update .

然后会发生以下情况:

  1. 开发人员在本地更改了svn-web 目录树的某些部分。
  2. 当他完成更改后,他将提交它们。
  3. 如果提交成功(pre-commit 不拒绝),就会触发 post-commit 钩子。
  4. 将在检出目录中的服务器上进行更新,以便下一个 Web 请求将看到不同的来源。

为什么我不喜欢它?

  • 并非 Subversion 中的每个提交都是独立的,因此可能存在对最终用户来说不是“好”的中间状态。
  • 在最终用户发现错误之前,没有测试、集成等阶段来发现错误。

【讨论】:

  • 我用过这个脚本。 %1/svnlook changed %1 -r %2 svn export --force -r %2 "Path to repo" Path to webroot 这些在运行表单命令提示符时工作正常,但是当我将它放入visualsvn repo Hook-post commit 小部件时它不起作用。当我提交光标时,继续加载 n 加载。请帮忙。
猜你喜欢
  • 1970-01-01
  • 2015-05-15
  • 2013-03-17
  • 1970-01-01
  • 1970-01-01
  • 2011-07-31
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多