Python的空白依赖关系在合并方面与源代码控制的交互程度如何?

时间:2008-09-23 06:32:23

标签: version-control merge whitespace

我想知道是否需要更改代码缩进以调整嵌套对合并SVN等系统中的更改有任何不利影响。

3 个答案:

答案 0 :(得分:2)

我在SVN和Mercurial中使用了python,没有麻烦合并。

这一切都取决于差异是如何完成的 - 我怀疑它是逐个字符的,它会注意到一个缩进级别与另一个缩进级别之间的区别。

答案 1 :(得分:1)

通常,源控制系统默认情况下逐行合并。我发现合并Python代码与合并任何其他合理缩进的源代码没什么区别。如果一个程序员在if语句中包装一个代码块(缩进整个块),而另一个程序员修改了块内的某些东西,那么就会出现合并冲突。幸运的是,这种情况下的冲突非常容易解决。

如果您使用外部合并工具,那么您的工具可能会支持更详细的文本合并算法,可自动考虑上述方案。

答案 2 :(得分:1)

只要项目中的每个人都同意使用相同的空格样式(空格或制表符),它就可以正常工作。

但我已经看到开发人员将整个文件从空格转换为标签的情况(我认为Eclipse将其作为一个功能,绑定到Ctrl + Tab!),这使得几乎不可能发现差异。