我正在寻找创建一个Mercurial钩子,当我推送到本地存储库时,它会推送到备份远程存储库.我以为我可以挂钩'传出'钩子,但这会产生一个不太漂亮的无限循环.那么有没有像推后挂钩,或者最好是让我推送的存储库有一个"传入"钩子来推送到远程备份而不是?
我有几个已经从SVN转换而来的存储库我们希望确保当人们推送到存储库时他们无法创建额外的头.在TipsAndTricks维基页面 中有几个钩子,如果有多个头,则阻止推送,但是我如何构建一个阻止推新头的钩子?
看起来这样做的正确方法是比较修订版0的头数:父版,然后比较0:提示,但我似乎找不到办法做到这一点.hg heads -r $HG_NODE只显示用户第一次提交后的头数.
我有一个使用Mercurial管理的Java项目,并使用Jenkins构建.有没有办法阻止开发人员检查破坏构建的代码?我知道我可以用Ant和Mercurial钩子做到这一点,但有没有办法用Jenkins做到这一点?
java mercurial continuous-integration mercurial-hook jenkins
我想为mq扩展所做的一些动作设置hg钩子.例如,当我这样做
hg qnew
我想使用post-review在我们的reviewboard服务器中创建一个新的审核请求.如果你这样做,我还想制作一个更新差异的钩子
hg qrefresh
这可能吗?
这是我的问题:
我有一个远程mercurial存储库,其中钩子将设置为传入或更改组,我在不同的服务器上设置了ReviewBoard.这个想法是在从开发人员推送到远程存储库时自动生成审查请求票据.当然,我需要一个调用post-review的钩子,它也使用了使用mercurial api(ctx.user())提取的submit-as用户,否则所有的审查请求票据都将以用户名为将远程存储库连接到reviewboard服务器.
我的主要困境实际上是获得开始修订和停止修订,如果我使用传入,我将获得所有更改集节点,但当然每次调用钩子,因此每次调用之间都没有保持状态.另一方面,如果我使用changegroup,我只得到第一个变更集,我无法比较.对于comparaison,我需要一种方法来保持上一个提示基本上将其发送到后期审核:
post-review --revision-range=previoustip:newtip --submit-as=ctx.user() 
如果您对如何解决问题有任何想法,我会很高兴.我明显在python中编写钩子.
在提交到存储库时,我在Mercurial中定义了一个钩子:
[hooks]
precommit.exportDB=exportDB.bat
这将从我的数据库创建/更新SQL转储,该转储应包含在提交中.但是:虽然这有效,但Sql被标记为新的,但不是现在提交的变更集的一部分.如何自动包含它以使其进入已更改的文件集?
希望这有道理......
莱克哈德
在我托管所有mercurial repos(+100)的远程服务器上,我想定义一个全局钩子.也就是说,在提交任何repos之后,假设发生某个动作(实际上应该触发post请求).
我知道我可以在每个回购中定义一个钩子,但考虑到回购量这不是一个选项.有没有办法全局定义钩子?
我正在使用Mercurial API的本机Python实现编写一系列changegroup和commit hooks .部分原因是我需要保存特定于我的钩子的某些信息,例如我的钩子实际看到的最后一个版本ID.
我想以一种方式执行此操作,其中所有外部元数据都保存在存储库中,但实际上未跟踪或忽略.我想确保这些数据永远不会成为历史的一部分.
我的第一个想法只是使用现有的.hg/hgrc配置,因为我只需要存储简单的字符串和整数,这就是我的钩子当前使用的少数配置行.API提供了一种简单的方法来读取此配置ui.config*,但似乎没有提供实际更改或写入它的方法.
我很容易获得配置列表,附加或修改它然后使用配置模块编写它,但我真的觉得我可能会忽略API提供的东西.我一直在想" 如果在成熟的API中没有明显的方法可以做到这一点,我可能会以错误的方式解决这个问题. "
是否有一种'正确'的方法来做到这一点,也许使用API?或者,也许我在API中没有找到管理这类数据而不使用的东西hgrc?我主要担心的是多人同时推动的比赛.
mercurial ×8
python ×2
automation ×1
global ×1
hook ×1
java ×1
jenkins ×1
push ×1
repository ×1
review-board ×1