python - 获取变更组中的变更集列表(mercurial python hook)

标签 python mercurial hook mercurial-hook

我想要一个 mercurial Hook ,它将在所有修改的文件上运行 JSLint/PyChecker/etc。但是,我无法控制所有 hg 客户端,并希望它在推送到主存储库(我有控制权)时运行,因此在主存储库上使用 pretxnchangegroup Hook 似乎是最好的。

如何获取要提交的变更组中所有变更集的列表?

我似乎有其他使用预提交 Hook 的解决方案,但这些解决方案对我不起作用,因为客户端可能已经有一个提交失败的 JSLint。在这种情况下,他们应该能够修复新提交中的错误,并能够成功将(错误的和新的提交)推送到服务器。服务器只需要检查每个分支上的最新变更集,以及变更组中修改的每个文件。

最佳答案

你是对的,你想要一个 pretxnchangegroup 钩子(Hook),但你不想检查所有的新修订——因为人们会修复你在后续变更集中拒绝的错误,但如果你正在检查所有变更集,他们的工作将永远不会被接受!

相反,要么只检查所有头部中的所有文件,要么使用 hg status --rev x:y 语法来获取您已经拥有的修订版和提示之间已更改文件的列表您收到的修订版,并仅检查最新修订版中的那些文件。

如果您真的想要所有修订的列表,您可以使用 1.6 版中新增的修订集 (hg help revsets),但您实际上只想检查结果,而不是所有修订带你去那里。

关于python - 获取变更组中的变更集列表(mercurial python hook),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3621463/

相关文章:

c++ - 绕过 cout 到自定义函数

python - 这个打印语法是如何工作的?打印 ('something' , ['a' , 'list' ][ boolean 值])

Python:在静态上下文中嵌套一行for循环时出错

python - 将自定义损失添加到 eval_metric_ops

git - 使用 LibGit2Sharp 的 Bitbucket 身份验证

function - Emacs:钩子(Hook)如何工作?

Python quickstart.py 适用于我的 Google 表格电子表格

version-control - 有没有办法搜索特定字符串的所有 mercurial 提交?

Mercurial - 记录上个月的变化

c++ - 内存修补的 const struct 声明