Version control hg推送的通知频率较低/冗长
我的项目使用hgext.notify。Current incoming.notify=每个变更集上都有单独的消息。考虑变更组通知,但即使它包含关于每个变更集的信息,也只包含在一封大电子邮件中 问题是: 我的工作作风是“早到、常到”。我做了很多小登记,通常是在分行。任务分支。最终整合 我的队友不喜欢在我的任务分支上看到我所有签入的消息 我们正在考虑使用诸如collapse或histedit之类的历史编辑扩展来减少冗长的内容,但我不喜欢丢失历史。我只是不想让他们为每个单独的变更集而烦恼 问:有没有一种方法,一个现有的钩子的一些配置,或者一些替代的hg扩展,可以设置为做如下通知:Version control hg推送的通知频率较低/冗长,version-control,mercurial,mercurial-hook,Version Control,Mercurial,Mercurial Hook,我的项目使用hgext.notify。Current incoming.notify=每个变更集上都有单独的消息。考虑变更组通知,但即使它包含关于每个变更集的信息,也只包含在一封大电子邮件中 问题是: 我的工作作风是“早到、常到”。我做了很多小登记,通常是在分行。任务分支。最终整合 我的队友不喜欢在我的任务分支上看到我所有签入的消息 我们正在考虑使用诸如collapse或histedit之类的历史编辑扩展来减少冗长的内容,但我不喜欢丢失历史。我只是不想让他们为每个单独的变更集而烦恼 问:有没有一
恐怕没有这样的扩展。notify扩展只是发送电子邮件的一种基本方式,有一点定制空间 听起来你对你想要的东西有一个特别的想法。我建议您看看是否可以将其表述为一个,然后在
changegroup
hook中简单地使用hglog
。通过管道将输出传输到邮件
,您就拥有了一个非常简单的notify扩展,您可以根据自己的内容进行定制
我想说的是,notify扩展没有那么复杂,在许多情况下,它可以被hglog
的适当调用所取代。如果您想更改比hg log-v
或hg log--patch
更大的输出,甚至可以使用forhg log
棘手的部分(从你的问题中还不完全清楚的部分)是过滤出正确的变更集。您在上面第4点提到了“重要”变更集,但我不完全确定是什么使变更集“重要”。如果从功能分支合并到默认值
,这一点很重要,那么像这样的事情可能是一个开始:
hg log -r "$HG_NODE:tip and children(not branch(default)) and branch(default)"
通过获取非default
变更集的子变更集,并与default
上的变更集相交,我们精确地得到了集成特征分支的合并点
很抱歉,答案太笼统了,但我认为你最好还是为你想要的编写一个小型定制shell脚本。我认为你的队友应该克服自我。你的工作流程是一个很好的实践,他们不应该阻止它,如果他们应该采用它的话。瓦解历史绝对是最糟糕的解决方案。我想更改通知邮件是一个可行的折衷方案,但老实说,小型邮件的全部目的是使其更易于审查。变更组通知对他们来说不可接受吗?变更组通知不完整。@LaurensHolst变更组通知不充分。不仅仅是通知-他们不想在hg日志中看到签入。@LaurensHolst-将hg日志限制为默认分支还不够好,因为这会吸收所有提交到默认分支的分支。我们同意使用HgRebase-collapse(HgCollapse和HgHistEdit经常崩溃)。@LaurensHolst-但我认为真正的问题是HgLog。我不久前使用的RCS和CVS工具——见鬼,我写了其中一些工具,rcslog merge——可能会限制您只看到特定分支上的提交。当您进行分支合并时,如果您愿意,您可能只会看到合并的提交消息(但您需要认真,并使其有意义)。//也就是说,我认为这反映了HG日志的一个弱点。我试图说,考虑到中继线上的每个变更集是合理的,默认分支是重要的。好的,当然,你决定什么是“有趣的”。我的建议基本上是:根据您的需要推出我们自己的mini-notify扩展。notify扩展并不太复杂,可以用调用
hglog
来代替,也许可以使用合适的。(我会在答案中加入一些。)谢谢。知道一些东西不存在是很重要的——避免浪费工作。我会考虑自己滚。虽然,顺便说一句,这些不喜欢大量电子邮件的家伙也不想要细粒度的签入-他们希望我将任务分支的所有细粒度的graon签入折叠起来,在任务分支中,我使用“chck in previous and frequency”philosphy,使用hg rebase将其折叠到一个签入中(或hg崩溃或hg histedit,尽管后者经常破裂)。