有一个相当大的旧 Python 项目,历史上有最多 (95%+) 的代码库使用制表符进行缩进。 Mercurial 用作 VCS。
使用标签有几个不便之处。似乎 4 个空格已成为 Python 社区中流行的缩进方式,并且大多数代码分析/格式化软件都以某种方式混淆了制表符。此外,大多数(实际上几乎所有)从事该项目的团队成员都更喜欢空格而不是制表符,因此希望切换。
因此,人们担心失去跟踪特定代码行的最新修改者的能力...因为如果所有代码行都转换为使用基于空格的缩进,而不是使用基于制表符的缩进,然后更改被提交到 mercurial 存储库,这正是将要发生的事情。而且这个特性 (hg annotate) 太有用了,不考虑牺牲它的可能性。
有没有办法在不丢失 Mercurial hg 注释功能的情况下在整个项目中切换缩进方法?如果有,最无痛的方法是什么?
最佳答案
如果您要用 4 个空格替换每个制表符,您仍然可以通过 annotate
获得合理正确的结果,只需使用忽略空格更改的开关:
hg annotate -b text.txt
您也可以使用 -w
忽略比较中的所有空格,但是 -b
似乎是最佳匹配:忽略将某些空格更改为 a 的情况不同的空格。
然而,这将忽略所有 仅更改了空格的行,这将忽略缩进的更改并将它们归因于该行的先前更改。
参见 hg help annotate了解更多。
关于python - 有没有办法在整个项目中将代码缩进从制表符切换为空格,并保持 'hg annotate' 功能?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18148464/