【问题标题】:style cleanup that doesn't trample svn blame?不践踏svn责备的风格清理?
【发布时间】:2010-10-15 20:55:10
【问题描述】:

我想使用 Eclipse 的格式化程序来修复一些风格不佳的代码,但是杀死存储库中关于谁负责什么的所有元数据有一个巨大的缺点。关于解决这个问题的方法有什么想法吗?也许这是完全不可能的......

【问题讨论】:

    标签: svn coding-style metadata blame


    【解决方案1】:

    另一种解决方案是添加一个预提交挂钩,将提交的文件与其格式化版本进行比较。如果没有差异,则接受提交。

    否则,一条简单的消息“代码未格式化:提交被拒绝”会通知您的开发人员在提交之前为他们修改的文件设置样式。

    结合 Stefan 的回答,您仍然可以使用 -w 选项的责备,此外,您不会覆盖开发人员的姓名。

    一个缺点是您将无法一次性设置整个存储库的样式。文件将在修改时设置样式。经常使用的文件会被快速设置样式,而有些文件可能永远不会更新。

    【讨论】:

      【解决方案2】:

      在重新格式化代码时,我通常只修复缩进。自动格式化程序破坏了精心手工格式化的部分的情况太多了。

      【讨论】:

        【解决方案3】:

        你可以告诉责备忽略空格的变化:

        svn blame -x -w file/path
        

        当然,这只有在您的样式修复不超过空格的情况下才有效。

        【讨论】:

        • 这看起来不错,但对我不起作用。有什么魔力?您目前使用什么客户端和平台?
        • Tortoise svn 默认忽略空白更改(有一个复选框可以更改)。
        • 如果您希望它也忽略换行符的更改(CRLF 与 LF),请使用 svn blame -x -w -x --ignore-eol-style。见svn help blamethis question
        【解决方案4】:

        历史还在,你只需要在清理修订之前看看一个责任。

        这是制定风格标准的一个很好的理由。缩进变化会导致很多合并冲突等。对一个“风格不佳”的人来说,对另一个人来说写得很好。

        【讨论】:

        • 可悲的是,有大量样式不佳的代码要开始。我想一个痛点是eclipse注释只显示最近的变化。人们大量使用它们。
        猜你喜欢
        • 2010-09-18
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-05-02
        • 1970-01-01
        • 1970-01-01
        • 2017-04-27
        相关资源
        最近更新 更多