问题标签 [pre-commit-hook]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
1724 浏览

windows - SVN Pre-commit Hook FTP Upload in Windows

我有一个在 Windows 机器上运行的 SVN 存储库。我需要一个将任何提交的文件上传到远程 Web 服务器的脚本。我已经阅读了预提交挂钩,但我不知道如何实际编写脚本,甚至不知道应该用什么语言编写脚本。似乎脚本需要是 .bat 或 .exe 才能运行在窗户里。

有没有人有可以在 Windows 机器上运行的脚本?我不是要上传整个网站,而是提交的单个文件。我想要一个预提交挂钩,因为如果 ftp 上传失败,它会给用户反馈。

如果您以前这样做过,请向新手解释整个过程。

0 投票
1 回答
1200 浏览

c++ - 预提交钩子验证 C++ 代码

今天我更新了我们的存储库并尝试重新编译它(它是一个 c++ 应用程序)。它不编译。我的第一反应是杀了我的同事,但因为我做不到,我需要找到另一个解决方案。

是否可以防止提交无法编译的代码?我们有一个 Makefile 并且 pre-commit 钩子需要做的就是检查命令 make 的输出状态。这样对吗?

我如何在实践中实现它(我从未使用过 svn hook)?

0 投票
3 回答
775 浏览

mercurial - 如何与所有其他开发人员共享 mercurial 中的 commit-hook?

我们正在使用 mercurial,现在我们想引入 precommit 钩子以保持代码干净。我们希望每个人都能以某种方式获得钩子,但我们也希望能够以某种集中的方式更新它。Mercurial 没有版本控制钩子,那么我们的替代选择是什么?你们中有人找到解决方案吗?提前致谢!

内米

0 投票
1 回答
1437 浏览

svn - 在 Windows 批处理文件中包装 SVN Python 挂钩

我有一个以前驻留在 Linux 服务器上的 SVN 预提交挂钩。我现在正试图将事情转移到 Windows (Server 2003) 服务器上。

这个钩子是用 Python 编写的,它在 Linux 上运行良好,它的#!/usr/bin/env python行在顶部。但是,Windows 不能以这种方式工作,并且需要挂钩是批处理文件(或其他格式,但仍然不是 Python)。

重要的是参数被传递给脚本,退出代码被返回给调用进程(SVN 服务器),以便它知道是否允许提交。我对文件语法几乎一无所知.bat,但我认为这样的事情可以解决问题:

我是否认为这是包装 Python 脚本的最简单方法?它会自动返回脚本的退出代码吗?

0 投票
2 回答
908 浏览

svn - 使用 SVN 预提交钩子防止开发人员忘记 svn 添加特定新创建文件的方法

有没有什么好的方法可以使用 svn pre-commit hooks 等来防止开发人员忘记添加文件?具体来说,如果用户有一个本地的未版本化文件,其路径/文件名与某个正则表达式模式匹配(在这种特殊情况下为 rails 数据库迁移),我希望提交失败。用户教育(在提交之前始终运行 svn status 和 svn diff)、羞辱等到目前为止已被证明不足以防止此类问题偶尔发生,

0 投票
1 回答
81 浏览

python - 如何强制在 SVN 中添加/更新的所有文件上设置有效属性和值?

是否可以强制提交更改或添加新文件的用户为 svn:keywords 设置有效值(例如日期、作者和 URL)?

如果可以将此行为包含在预提交挂钩中,那就太好了,最好用 python 编写。

0 投票
1 回答
1444 浏览

git - 为什么我的 Git 预提交钩子不会在克隆的存储库中触发?

我刚刚写了一个小的预提交钩子来执行我的自定义操作。我的中央存储库位于 Solaris 服务器上并启用了 HTTP。

我编辑了预提交钩子并修改如下:

如果我克隆此存储库并使用其他用户执行提交操作,它不会提供任何消息并提交它。为什么我的提交没有调用pre-commit钩子?

.git/hooks我也可以在目录下的克隆仓库中看到“ pre-commit”钩子不存在,我只能看到默认模板。

有人可以在这里帮忙吗?

0 投票
2 回答
9462 浏览

git - 如何在克隆时传播 Git Hooks

我在我的中央存储库中编写了一个预提交挂钩。当我的客户克隆存储库时,它永远不会传播钩子。我希望这些钩子也可以复制到我客户的存储库中。我的客户是 Windows 用户,使用 msysgit 作为 git 客户端。

有什么方法可以将挂钩复制到本地存储库?

0 投票
2 回答
2120 浏览

python - SVN 预提交钩子编码

我正在使用Python脚本来实现SVN 预提交钩子

我的pre-commit.bat(服务器托管在 Windows Server 2008 上):

在客户端,我使用TortoiseSVN

一切正常,除了提交消息编码。例如,如果提交消息包含俄语字母,它们将显示为“?” (问号)在 Tortoise 窗口中。

0 投票
2 回答
1201 浏览

svn - SVN - 在开始提交挂钩中获取提交大小?

实际上,我在预提交挂钩中检查了提交的大小。但是在我可以拒绝预提交之前提交所有文件。

例如,如果大小限制为 10 MB,而用户发送 1 GB 文件,则 1 GB 将完全传输到我的服务器,然后 pre-commit 挂钩将拒绝该事务。

如果在所有文件传输到服务器之前提交大小大于存储库限制,我想拒绝事务。

这怎么可能?