`
agile_boy
  • 浏览: 547988 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

git恼人的trailing whitespace

阅读更多
用git进行版本控制,很爽!完全的分布式管理,让你可攻可守。

但不知各位用他来管理过Java代码?在提交的时候,碰到过“trailing whitespace”没有?这也算是代码规范的一个校验吧,即代码中不允许以空格结尾。

在实践中,我在两种情况下会碰到这种情况:
  1. crlf类:这主要是不同操作系统平台的回车编码不同导致
  2. 代码中确实是以空格结尾,比如eclipse默认生成的java doc,就会以“* “结尾

对于以上两类问题,都有效的解决方案就是:注释掉部分代码
if (/\s$/) {
bad_line("trailing whitespace", $_);
}

将以上三行代码注释掉:perl的注释是“#”

或者禁止执行pre-commit脚本
chmod a-x .git/hooks/pre-commit


不过对于第一类的情况,还可以通过设置git的参数来完成:
git-config core.autocrlf true
git-config core.safecrlf true


对于第二类,本人确实没有更好的办法来,希望高人在此指点一下,鄙人不胜感激。


--Update:
Eclipse的其实是支持Remove Trailing Whitespace的,步骤如下:
  1. Window > Preferences > General > Keys > Modify
  2. 查找“Remove Trailing Whitespace ”
  3. 在Key Sequence中自定义要映射的键
  4. 点击OK

2
0
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics