这可能是最好的维基,在这里给出评论: Share common / useful SVN pre-commit hooks
我在Windows 7计算机上使用Visual SVN 2.1.7。我们有来自不同国家/地区的开发人员,我们可以通过运行更改的本地副本来管理代码更改,然后通过ftp手动上传到正在处理的每个网站的服务器。
这是一个非常耗时的过程,但比修复现场网站上的错误耗时更少,因此这是朝着正确方向迈出的一步。
在Visual SVN网站上,它提到了提交后提交和预提交挂钩,但未能显示可以访问的位置,即使它提到有GUI。在安装的版本中没有GUI或甚至选项的迹象,因此我无法首先找到访问它的位置。
假设可以通过脚本来完成,我已经用Google搜索并找到了一些关于它可能在哪里以及如何完成的指导,但它似乎比我希望的要复杂得多。
有没有人有任何经验或指导,包括示例脚本,如何在Windows上执行以下任务(未安装perl)?
a)创建预提交命令/文件并将其执行附加到存储库/提交给它 b)创建一个提交后命令/文件并将其执行附加到存储库/提交到它
在我的情况下,一个特定的任务: c)如何在可以将提交文件发送到远程CentOS共享托管服务器的PC上安装本地Visual SVN(不能在这些机器上安装VPS / Dedi或云托管和SVN)
这是一个很棒的软件,但它似乎是高效率的障碍,因为它不清楚你需要问什么问题或在哪里看。希望你能为那些陷入困境的人提供一个更好的起点。
谢谢:)
答案 0 :(得分:2)
访问钩子:
1.启动VisualSVN服务器管理器
2.打开存储库的属性
3.选择Hooks选项卡
4.编辑所需的钩子
挂钩是常规而不是基于配置。你不必“勾”起来。创建一个pre-commit
挂钩,并在提交之前运行一个钩子。创建一个post-commit
钩子,你有一个在提交后运行的钩子。
以下是您在提交后脚本中可以执行的操作的步骤:
您将repo路径和修订提交为post-commit钩子的参数,因此请使用repo=%1
和rev=%2
之类的内容来获取这些值。
提交后复制文件的一种方法是在服务器上有一个工作副本,在提交后提交挂钩后在此工作副本上发出svn update
,然后复制文件。您可以通过使用svnlook changed
获取更改的文件来有选择地复制文件。 svnlook需要修订并使用您之前设置的rev
变量。
脚本本身可以使用任何语言。