与Mercurial的双向美化整合

Jos*_*ale 6 mercurial

我们拥有一支非常多元化的开发团队.每个开发人员都喜欢非常不同的源代码缩进和格式化风格.存在美化/漂亮的打印机工具,可以输出这些开发人员的首选样式.我们的代码使用提交钩子以标准格式样式存储在Mercurial存储库中.

不过,我想再深入一点.当他克隆/拉取/更新他的工作区时,是否可以将源代码美化为开发人员的首选样式?这样,他会看到所有代码都是他喜欢的风格.当他/她提交时,代码被美化回中央存储库的标准格式化样式.

在更新/检出之前,我可以使用钩子来美化文件吗?

在合并期间如何工作?我们正在合并的其他文件是否也可以使用选择的样式进行美化(以尽量减少冲突的数量)?

Von*_*onC 1

实现这一点的一种可能的方法(理论上)是通过编码/解码过滤器,但我认为这不值得,因为存在所有潜在的副作用。

最好在集中位置进行某种格式强化,如果集中存储库检测到代码格式不正确,则拒绝对集中存储库的任何推送。
这提醒编码人员在当前项目中使用“官方”(且唯一)的代码格式。