Visual SVN 服务器:提交前/提交后挂钩指南

问题描述 投票:0回答:2

这可能是最好的维基,考虑到这里的评论: 分享常用/有用的 SVN 预提交钩子

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

这是一个非常耗时的过程,但比修复实时网站上的错误要省时,所以这是朝着正确方向迈出的一步。

在 Visual SVN 网站上,它提到了提交后和提交前挂钩,但未能显示可以访问的位置,即使它提到有一个 GUI。安装的版本中没有 GUI 的迹象,甚至没有选项,所以我首先无法找到访问它的位置。

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

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

a) 创建预提交命令/文件并将其执行附加到存储库/提交给它 b) 创建一个提交后命令/文件并将其执行附加到存储库/提交给它

就我而言,一项具体任务: c) 如何在 PC 上安装本地 Visual SVN,以便将提交的文件发送到远程 CentOS 共享托管服务器(不是 VPS/Dedi 或云托管,并且 SVN 无法安装在这些计算机上)

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

谢谢:)

svn rsync visualsvn-server post-commit-hook
2个回答
2
投票

访问钩子:

1.启动VisualSVN服务器管理器

2.打开存储库的属性

3.选择“Hooks”选项卡

4.编辑需要的hook

Hooks 是约定而不是基于配置的。您不必将它们“挂钩”。创建一个

pre-commit
钩子,并且在提交之前运行一个钩子。创建一个
post-commit
钩子,你就有了一个在提交后运行的钩子。

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

您将存储库路径和修订版本作为参数提交给提交后挂钩,因此请使用

repo=%1
rev=%2
之类的内容来获取这些值。

提交后复制文件的一种方法是在服务器上有一个工作副本,在提交后钩子中提交后在此工作副本上发出

svn update
,然后复制文件。您可以通过使用
svnlook changed
获取更改的文件来选择性地复制文件。 svnlook 需要修订并使用您之前设置的
rev
变量。

脚本本身可以是任何语言。


0
投票

VisualSVN 服务器 | 上有一个专用的 Repository Hooks 部分。文档页面。

通常,可以从 VisualSVN Server Manager 控制台

或使用 Set-SvnRepositoryHook

 PowerShell cmdlet 配置挂钩。
有一个钩子脚本列表(

.cmd

脚本):


还有一个简单的编辑器:

如果需要,您可以随时在您喜欢的文本编辑器(例如,此屏幕截图中的 Notepad++)中打开挂钩脚本,或使用可执行文件作为挂钩:

© www.soinside.com 2019 - 2024. All rights reserved.