【问题标题】:Visual SVN Server: Guide on Pre/Post Commit HooksVisual SVN 服务器:Pre/Post Commit Hooks 指南
【发布时间】:2011-08-11 10:15:33
【问题描述】:

这可能是最好的 wiki,因为这里有 cmets: Share common / useful SVN pre-commit hooks

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

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

在 Visual SVN 网站上,它提到了 post-commit 和 pre-commit 钩子,但没有显示可以访问的位置,即使它提到有一个 GUI。安装的版本中没有 GUI 的迹象,甚至没有选项,所以我首先找不到访问它的位置。

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

是否有人对如何在 Windows(未安装 perl)上执行以下任务有任何经验或指导,包括示例脚本?

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

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

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

谢谢:)

【问题讨论】:

    标签: rsync visualsvn-server post-commit-hook


    【解决方案1】:

    访问钩子:

    1.启动VisualSVN服务器管理器

    2.打开存储库的属性

    3.选择 Hooks 选项卡

    4.编辑需要的钩子

    Hooks 是约定而不是基于配置的。您不必“挂钩”它们。创建一个pre-commit 钩子,并且您在提交之前运行了一个钩子。创建一个post-commit 钩子,你就有一个在提交后运行的钩子。

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

    您将提交的 repo 路径和修订版本作为参数提交给 post-commit 挂钩,因此请使用 repo=%1 和 rev=%2 之类的内容来获取这些值。

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

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

    【讨论】:

    猜你喜欢
    • 2014-04-29
    • 1970-01-01
    • 1970-01-01
    • 2011-05-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-09-07
    • 2022-01-14
    相关资源
    最近更新 更多