如何在不扩展扩展的情况下避免对客户发出过时的警告

厄勒·博尔赫斯

我目前在一家使用Mercural的公司工作,但是大多数开发人员使用MQ而不是新的演进流程。因此,大多数用户没有启用扩展。

每次我推送到主存储库时,.hg/store/obsstore都会使用过时的变更集自动推送。这是有问题的,因为在此之后所有未启用扩展名的用户都收到以下消息:

过时的功能未启用,但找到了33个标记!

答案中提出的一种解决方案涉及.obsstore在本地删除,但这不是我想要的,因为我仍在使用evolve,这意味着我希望过时的变更集保持隐藏。不仅如此,过时的标记和变更集应该在服务器存储库中可用,以便我们保留使用evolve诸如智能冲突解决之类的好处

我希望一种方法不将过时的变更集推送到服务器存储库中,或者(正确的方式)让服务器不将过时的数据推送到未evolve启用的客户端

这可能吗?如果没有,为什么不呢?

厄勒·博尔赫斯

我发现此问题有两种解决方法(破解),因为在撰写此答案时,看起来Mercurial无法解决此问题:

每个存储库演进扩展

evolve~/.hgrc文件中删除扩展名,在每个存储库的基础上启用它,然后使用SSH指向存储库(在我们的示例中,它位于NFS上,这是问题的根源)。

也就是说,在您的存储库中,hgrc您将拥有:

# This is <repo>/.hg/hgrc
[paths]
default = ssh://localhost//path/to/origin/repo
[extensions]
evolve =

并继续~/.hgrc

[extensions]
# evolve =     => Disabled on purpose

使用挂钩删除过时的标记

只需使用钩子即可删除.obspurge存储库上的文件hgrc

# This is <repo>/.hg/hgrc
[alias]
obspurge = !echo "Purging obsolete markers" && rm /path/to/origin/repo/.hg/store/obsstore
[hooks]
post-push = hg obspurge

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何在不破坏现有客户端的情况下扩展terraform模块输入变量模式?

如何在不使用任何 chrome 扩展的情况下从简单的 angular js 客户端发出跨源 http 请求?

如何在不上传的情况下测试Visual Studio Team Services(vsts)扩展

如何在不拉伸原始图像的情况下扩展CIImage的空间(边界)?

如何在不格式化的情况下将主分区更改为扩展分区

Matlab:如何在不扩展基础数据类型的情况下执行定点算术?

如何在不扩展轴范围的情况下进行绘图?

如何在不扩展Hybris的情况下重新声明核心模型属性类型

如何在不付费的情况下测试您的chrome扩展程序的付费版本?

如何在不覆盖整个蓝图的情况下扩展Sails.js中蓝图的功能?

如何在不覆盖默认行为的情况下扩展OSMbonuspacket Marker的setOnMarkerClickListener?

如何在不覆盖父函数的情况下扩展application.cfc?

如何在不扩展 Fragment android 的情况下创建片段

如何在不扩展活动的情况下添加微调框

Python:如何在不扩展矩阵的情况下增加其尺寸?

如何在不旋转的情况下更改Unity中VerticalLayoutGroup的扩展方向?

八度:如何在不扩展A。* B的情况下求和(A。* B,3)?

如何在不访问JVM设置的情况下扩展堆栈大小?

如何在不破坏DataFrame.append()的情况下继承或扩展熊猫DataFrame?

如何在不丢失扩展名和首选项的情况下刷新Firefox?

如何在不扩展列表活动的情况下创建自定义列表视图?

如何在不搞乱一切的情况下扩展 /boot

在这种情况下如何避免在强制转换为 Generic 时发出警告?

如何在不创建临时文件的情况下获取文件扩展名或文件类型的图标?

如何在不更改React.Component的所有用法的情况下扩展React Component prop类型

如何在不丢失扩展名和用户设置的情况下重新安装VSCode

Java如何在不扩展比较器的情况下对包含句点/点的字符串数组进行排序?

如何在不覆盖布局部分的脚本的情况下扩展布局 (Laravel 5.8)

如何在不扭曲该 div 中的其他对象的情况下扩展 div 并插入新文本?