【发布时间】:2010-10-15 20:55:10
【问题描述】:
我想使用 Eclipse 的格式化程序来修复一些风格不佳的代码,但是杀死存储库中关于谁负责什么的所有元数据有一个巨大的缺点。关于解决这个问题的方法有什么想法吗?也许这是完全不可能的......
【问题讨论】:
标签: svn coding-style metadata blame
我想使用 Eclipse 的格式化程序来修复一些风格不佳的代码,但是杀死存储库中关于谁负责什么的所有元数据有一个巨大的缺点。关于解决这个问题的方法有什么想法吗?也许这是完全不可能的......
【问题讨论】:
标签: svn coding-style metadata blame
另一种解决方案是添加一个预提交挂钩,将提交的文件与其格式化版本进行比较。如果没有差异,则接受提交。
否则,一条简单的消息“代码未格式化:提交被拒绝”会通知您的开发人员在提交之前为他们修改的文件设置样式。
结合 Stefan 的回答,您仍然可以使用 -w 选项的责备,此外,您不会覆盖开发人员的姓名。
一个缺点是您将无法一次性设置整个存储库的样式。文件将在修改时设置样式。经常使用的文件会被快速设置样式,而有些文件可能永远不会更新。
【讨论】:
在重新格式化代码时,我通常只修复缩进。自动格式化程序破坏了精心手工格式化的部分的情况太多了。
【讨论】:
你可以告诉责备忽略空格的变化:
svn blame -x -w file/path
当然,这只有在您的样式修复不超过空格的情况下才有效。
【讨论】:
svn blame -x -w -x --ignore-eol-style。见svn help blame 和this question。
历史还在,你只需要在清理修订之前看看一个责任。
这是制定风格标准的一个很好的理由。缩进变化会导致很多合并冲突等。对一个“风格不佳”的人来说,对另一个人来说写得很好。
【讨论】: