可视化SVN服务器:提交前/提交后挂钩指南

人气:45 发布:2023-01-03 标签: visualsvn-server rsync post-commit-hook

问题描述

这可能是最好的维基,给出这里的评论: Share common / useful SVN pre-commit hooks

我在Windows 7计算机上使用的是Visual SVN 2.1.7。我们有来自不同国家的开发人员承诺,我们可以管理代码更改,方法是运行更改的本地副本,然后通过ftp手动上传到正在处理的每个网站的服务器。

这是一个非常耗时的过程,但比修复实时站点上的错误耗时更少,因此这是朝着正确方向迈出的一步。

在Visual SVN网站上,它提到了提交后和提交前挂钩,但没有显示在哪里可以访问这些挂钩,即使它提到了有一个图形用户界面。在安装的版本中没有图形用户界面的迹象,甚至没有选项,所以我首先找不到访问它的位置。

假设它可以通过脚本来完成,我搜索了谷歌并找到了它,以寻找关于它可能在哪里以及如何完成的一些指导,但它似乎比我希望的要复杂得多。

有没有人有关于如何在Windows(未安装Perl)上执行以下任务的经验或指导,包括示例脚本?

A)创建预提交命令/文件,并将其执行附加到存储库/提交给它 B)创建提交后命令/文件并将其执行附加到存储库/提交到该存储库

在我的案例中,有一项特定的任务: C)如何在可以将提交的文件发送到远程CentOS共享托管服务器(不是VPS/DEDI或Cloud托管且无法在这些计算机上安装SVN)的PC上安装本地Visual SVN

这是一款很棒的软件,但要想高效地使用它,障碍似乎很高,因为不清楚你需要问什么问题,或者去哪里看。希望你能帮助那些陷入同样困境的人提供一个更好的起点。

谢谢:)

推荐答案

访问挂钩:

1.启动VisualSVN服务器管理器

2.打开存储库的属性

3.选择钩子选项卡

4.编辑所需挂钩

挂钩是约定而不是基于配置的。你不必把他们"勾搭"在一起。创建一个pre-commit钩子,您就有一个在提交之前运行的钩子。创建post-commit挂接,您就拥有了在提交之后运行的挂接。

以下是您可以在提交后脚本中根据需要执行的步骤:

您可以将repo路径和修订作为提交后挂钩的参数提交,因此可以使用类似repo=%1rev=%2的内容来获取这些值。

提交后复制文件的一种方法是在您的服务器上有一个工作副本,在提交后挂接中提交后在此工作副本上发出svn update,然后复制文件。您可以通过使用svnlook changed获取更改的文件来选择性地复制文件。Svnlook.svnLook需要修改并使用您先前设置的rev变量。

脚本本身可以使用任何语言。

16