问题标签 [mercurial-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.
mercurial - 如何从我的自定义挂钩中引用存储库的 hgrc 部分?
我编写了一个通用的 changegroup 钩子函数,我想通过设置一些 hgrc 部分变量来为每个存储库自定义,如下所示:
我该怎么做呢?
mercurial - 如何强制 Mercurial 客户端使用特定版本的 Mercurial?
随着新版本 Mercurial 的发布,我们希望以某种方式强制开发人员、设计师和其他人使用已批准(或更高版本)的 Mercurial 版本。例如,我们目前使用的是 1.8.3 版本,我希望以某种方式自动阻止/拒绝用户使用 1.8.3 之前的任何内容访问我们的存储库,并允许之后的任何版本。 我可以这样做吗?
我们在 Windows 和 IIS 上运行我们的服务器。我考虑编写一个 IIS 扩展,它为不在正确版本的客户端返回 500 个错误,但客户端不会在其 HTTP 请求中发送任何版本信息,只是“mercurial/proto 1.0”,我认为这意味着 Mercurial 的 1.0 版本HTTP 协议。
我想要的可能吗?有没有其他方法可以解决这个问题?
我们想要这样做是因为Mercurial 区分大小写。我们 100% 使用不区分大小写的 Windows。这导致了我们无数的案例折叠冲突。 我们在他们身上浪费了几个小时。尽管 Mercurial 改进了案件处理,但仍有可能引入案件折叠问题的情况。 由于在新版本中对案例处理进行了改进,我们希望以某种方式强制我们的用户使用这些版本,这样就不会引入我们必须花时间修复的新问题。
mercurial - Mercurial 外部预提交挂钩:获取更改的文件列表
我可以得到它
或与
但我无法进入HG_NODE
预提交挂钩。有什么解决方法吗?
mercurial - Mercurial 不使用 changenotify 发送电子邮件
我建立了一个 http 中央 Mercurial 存储库,并尝试在每次推送时发送电子邮件。我按照 mercurial 页面和http://morecode.wordpress.com/2007/08/03/setting-up-mercurial-to-e-mail-on-a-commit/的说明进行操作。
推送工作正常,但我根本看不到任何通知消息。请帮我。
我的客户端存储库文件夹中的 .hg/hgrc 看起来像这样
我的 /home/myhome/something/subscription.conf 看起来像
我保存,我的结果如下所示,如果您注意到我根本看不到任何通知消息
[更新:]
我发现我的系统中没有 hgext 文件夹。所以我手动下载了与我的 hg 版本匹配的源并更新了我的 hgrc,如下所示,它仍然无法正常工作。请提供任何帮助。
[更新2:]
谢谢 Ry4an - 我试过了,还是没有运气。
在我的网络服务器中
在 /var/www 和 /var/www/hg 我创建了 .hgrc 文件,只是不确定哪个是我的 webroot,所以我在两个地方都做了内容
此用户名是我尝试推送到存储库的客户端中的用户名。
在我的客户上
在我的 repo 的 .hg/hgrc 中,我添加了受信任的部分
上述程序没有帮助
第二种方法
在我的客户上,
在我的回购的.hg下,我做到了
当我尝试推送时,我在推送时收到了一些信息
第一种方法时没有出现这个忽略命令,只有在我更改了hgrc的所有权后,才会弹出这个。
java - 如何拒绝破坏构建的反复无常的签入?
我有一个使用 Mercurial 管理并使用 Jenkins 构建的 Java 项目。有没有办法阻止开发人员签入破坏构建的代码?我知道我可以用 Ant 和 Mercurial 钩子做到这一点,但是有没有办法用 Jenkins 做到这一点?
mercurial - 如何在 HG / Mercurial 中设置由存储库指定的挂钩?
我需要在更新后运行一个挂钩(这将构建他们更新的解决方案),我不想为每个克隆我的中央存储库的人手动添加该挂钩。
当有人第一次克隆我的中央存储库时,是否可以在该克隆中包含挂钩?似乎 .hgrc 文件不会自动克隆。
我确实读过关于站点范围的钩子,但据我了解,它们适用于每个创建的存储库,我只想在某些存储库上使用钩子。
mercurial - 如何在 Mercurial 中验证和强制执行提交消息?
使用一组正则表达式验证提交消息所需的所有步骤是什么?我们希望在半集中式设置中工作,因此我需要为开发人员克隆 ( local repository
) 和我们的中央克隆 ( global repository
) 提供解决方案。我读到了Mercurial Hooks,但我有点迷失如何将所有东西放在一起。
因为local repository
我需要一种在我的开发人员之间分发验证脚本的方法。我知道克隆时钩子不会传播,所以我需要一种方法在每个新克隆中“启用”它们。它将作为我们PrepareEnvironement.bat
脚本的一部分完成,我们无论如何都会在每个干净的克隆上运行。
为了双重安全,我需要对我的global repository
. 应该不可能推动global repository
未验证的提交。我可以手动配置它 - 这是一次性的工作。
我在 Windows 上,所以不需要安装TortoiseHG以外的任何东西。部署Mercurial已经是一场战斗。不欢迎任何其他依赖项。
mercurial-hook - 如何在 mercurial 提交之前执行命令行应用程序(bat)?
我想在每次提交(推送)到中央存储库之前执行命令行应用程序。如果应用程序将执行错误,则提交应该会失败并显示一些消息。
我找到了一些 python 钩子的例子,但没有关于调用 bats 或 exe。
mercurial - 如何使用 mercurial 队列或 histedit 禁用 pretxncommit 挂钩?
我的本地 mercurial 存储库中有一些 pretxncommit 钩子,这些钩子用于检查提交消息是否包含对票证的引用和其他一些健全性检查。
我的问题是,当我尝试使用 mercurial 队列时,诸如qnew
尝试运行这些钩子之类的命令并且票证检查失败之一,我看到了相同的问题histedit
和类似的扩展。
为什么使用这些命令执行 pretxncommit 钩子?他们是否运行某种内部提交?
如何使这些钩子仅在提交时运行?
python - 应该如何管理“.hg/”状态目录中的挂钩特定文件?
我正在使用Mercurial API的本机 Python 实现编写一系列更改组和提交挂钩。其中一部分需要我保存特定于我的钩子的某些信息,例如我的钩子实际看到的最后一个修订 ID。
我想以一种所有外部元数据都保存在存储库中的方式来执行此操作,但实际上并未跟踪或忽略。我想确保这些数据永远不会成为历史的一部分。
我的第一个想法就是使用现有的.hg/hgrc
配置,因为我只需要存储简单的字符串和整数,这就是我的钩子当前使用的少数配置行。API 提供了一种通过 读取此配置的简单方法ui.config*
,但似乎没有提供实际更改或编写它的方法。
获取配置列表、附加或修改它然后使用配置模块编写它对我来说很容易,但我真的觉得我可能忽略了 API 提供的一些东西。我一直在想“如果在成熟的 API 中没有明显的方法可以做到这一点,我可能会走错路。 ”
是否有“正确”的方法来做到这一点,也许使用 API?或者,也许我在 API 中没有找到可以在不使用的情况下管理此类数据的东西hgrc
?我主要担心的是多人同时推动的比赛。