我希望能够在将其他开发人员代码推送到中央存储库之前对其进行审查。开发人员位于偏远地区,因此不能选择去他们的办公桌。
目前他们只是推动,如果有问题他们会回滚。但这不是一个好方法,因为有人可以在他们有机会回滚之前拉动。
开发人员和主存储库之间的审查存储库怎么样?只有你从那里推到主要的。
我赞成 kelloti 的回答,因为这只是它的扩展,但只是使用了存储库层。让人们将未审查的变更集推送到需求审查中央存储库,并让审查人员将审查过的作品从那里推送到需求质量保证中央存储库,并让质量检查人员推送发布候选中央存储库。
使用分布式版本控制系统,您可以像创建多个开发人员存储库一样轻松地创建多个集中式存储库。
在我的上一个项目中,我们遵循了一个非常分支的开发模型——每个任务都有一个以任务编号命名的分支。代码审查是针对指定的分支执行的。我们明确希望将这些推送到中央存储库,然后开发人员将它们拉出。
但是,在通过代码审查之前,没有名为分支的任务被合并到集成分支(在我们的例子中是默认的,但它可能是任何功能分支)。
许多 mercurial 开发人员不喜欢使用保留在存储库中的短期分支,但我发现它更容易跟踪历史记录,特别是在查看单个更改的历史记录时 - 你知道更改为特定任务位于关联的命名分支上。
也许使用搁置扩展是一个很好的解决方案?我对 Mercurial 不是很熟悉,但这可能对你有用。