gpt4 book ai didi

python - 有没有办法在整个项目中将代码缩进从制表符切换为空格,并保持 'hg annotate' 功能?

转载 作者:太空宇宙 更新时间:2023-11-04 10:44:50 25 4
gpt4 key购买 nike

有一个相当大的旧 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/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com