【问题标题】:Mercurial HGRC Force Ignore DefaultMercurial HGRC 强制忽略默认值
【发布时间】:2011-02-05 16:58:37
【问题描述】:

我和我团队中的许多开发人员经常因 mercurial 克隆中默认推/拉位置的行为而遇到麻烦。有没有办法在系统范围内关闭它?即,我从 ~/abc/123 克隆,然后键入“hg push”,而不是推送到该目录,而是收到某种错误消息,例如,“对不起,戴夫,我不能这样做。”

我仍然想要将命名位置添加到特定 repo 的 hgrc 中,我只想关闭默认设置。

【问题讨论】:

  • 你遇到了什么麻烦?
  • 人们不小心推送到了错误的仓库。

标签: mercurial


【解决方案1】:

一种解决方案是让人们从他们无法推送到的存储库中克隆。您可以在存储库的 .hg/hgrc 文件中使用 allow_push 指令来限制对团队负责人、发布经理等的推送。这是一个非常常见的工作流程,其中的更改流程如下:

  • 开发者:从 SHARED 克隆
  • 开发人员:在本地工作
  • 开发者:推送到 READY_FOR_REVIEW
  • lead:从 READY_FOR_REVIEW 推送到 SHARED

开发人员仍然可以相互推/拉,但“共享”会受到更多监督。

或者,您可以强制人们使用克隆后挂钩,该挂钩执行以下操作:

[hooks]
post-clone.stopit = perl -ine 'print unless /default = /'

如果你可以控制它们工作的系统,你可以输入/etc/mercurial/hgrc,但是共享仓库的访问控制比在每个人的系统上设置要容易得多。

【讨论】:

  • 我们已经阻止了一些人推送,问题是它经常发生,有时当他们克隆自己的本地时。默认只是不值得麻烦。第二部分 post-clone.stopit 听起来很有希望。稍后我会试一试,如果有效,请标记此答案。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-04-28
相关资源
最近更新 更多