Mercurial 其他用户允许的hg推送

Mercurial 其他用户允许的hg推送,mercurial,push,review,Mercurial,Push,Review,我不是Mercurial的高级用户,需要一些关于以下典型问题的建议: 我正在使用Mercurial进行代码共享和版本控制 几个用户将通过ssh共享/修改从/到中央回购的拉/推操作 到现在为止,我已经开始工作了。我现在想要的是有一个控制其他用户推送的方法,比如如果我接受更改,就有一个“允许推送”功能 我有一些想法,但我想知道在这种情况下有什么建议 (可能是我单独控制的一个分支和另一个分支的原始推/拉操作……但如果几个用户可以接受其他用户的推操作,则看起来不太好) (也许有一个简单的解决办法,而

我不是Mercurial的高级用户,需要一些关于以下典型问题的建议:

  • 我正在使用Mercurial进行代码共享和版本控制
  • 几个用户将通过ssh共享/修改从/到中央回购的拉/推操作
到现在为止,我已经开始工作了。我现在想要的是有一个控制其他用户推送的方法,比如如果我接受更改,就有一个“允许推送”功能

我有一些想法,但我想知道在这种情况下有什么建议

(可能是我单独控制的一个分支和另一个分支的原始推/拉操作……但如果几个用户可以接受其他用户的推操作,则看起来不太好)

(也许有一个简单的解决办法,而我却无缘无故地把事情复杂化了)

我寻找一些即使不完美也容易设置的东西,并且不想使用商业第三方工具(例如审查委员会)

我读了一些关于hg评论的文章,但我不确定它是否能满足我的要求

有什么建议吗

非常感谢


Adrien.

我认为,如果您打算手动批准传入代码,那么从其他用户处获取代码是一个更好的工作流程。这样,您就可以保持控制,并且可以使用
hg incoming
验证变更集消息

你也可以写一个钩子来防止推。但是,必须有某种编程逻辑来接受/拒绝推送,这可能不现实。请查看以获取有关挂钩的详细信息

我现在想要的是有一个控制其他用户推送的方法,比如如果我接受更改,就有一个“允许推送”功能

您如何知道是否接受更改?审查更改的唯一实用方法是以某种方式将更改放入您的(个人)存储库中

如果您的其他贡献者是值得信任的团队成员,您可以指导他们开发和推进分支机构;只有您可以将他们的贡献合并到
默认分支(或您作为“干净”委托的任何分支)

一个更强大的替代方案是有两个中央存储库,一个允许每个人推送,另一个只有你可以推送:用户推送到
repo1
;您可以根据需要查看并推送到
repo2
;用户从
repo2
中提取。Mercurial通过允许您定义单独的路径
default push
default
(这将只用于拉取)使这一点变得容易


第三种方法是像@Stephen建议的那样,从贡献者那里拉,而不是让他们推。这是存储库在工作中是如何托管的,所以如果你喜欢这个模型,你可以考虑在那里托管你的项目。< / P>嗨,你的解决方案2正是我昨晚想到的!我很高兴看到这听起来并不愚蠢。谢谢你的回答,非常有用。