【问题标题】:SVN Pre-commit hook for temporarly commented out code (in java)?用于临时注释掉代码的 SVN 预提交挂钩(在 java 中)?
【发布时间】:2010-05-12 07:54:56
【问题描述】:

我碰巧出于测试原因注释掉了一行代码,最后用注释行将代码签回了存储库。

例如我在一行中为 Eclipse RCP 中的作业设置了规则。在开发一项新功能时,我注释掉了这一行,因此没有设置规则。

几个小时后,新功能完成并准备好提交到 SVN。虽然我改变了很多东西,但我通常只是通过与存储库(在 Eclipse 中)进行同步来快速仔细检查我的更改,并浏览所有类进行某种头脑清醒的检查(即:问自己我真的接触过吗?这节课?)。 但我不会检查每一行。

所以在这种情况下,我不记得注释行,它被提交给 SVN。

现在,我想知道是否可以找到一些自动机制来防止此类错误。 我考虑过制作一个代码模板或任务标签,并用它标记注释行。然后在 svn pre-commit 钩子中检查这个任务标签。

我现在用谷歌搜索了一段时间,但找不到任何东西。有谁知道这样做的方法?或者可能是接近此的东西,只需要稍作改动即可实现我正在寻找的东西?

【问题讨论】:

  • 您似乎已经描述了解决此问题的绝佳方法。是什么阻止了您实施它?
  • 没什么。 :-) 但我无法想象那里已经没有解决方案......

标签: java svn pre-commit-hook


【解决方案1】:

借用 spong 的想法...如果需要取消注释,如何在评论中添加一些指示符 (FIXME)。预提交钩子可以做一个svnlook diff 并寻找FIXME 并阻止提交。

【讨论】:

    【解决方案2】:

    您可以在预提交挂钩中检查这些内容,但我建议先使用分支并在最后检查,然后再合并到主干或其他集成线。另一方面,我建议使用单元测试来运行它们,并根据注释掉的代码看到一些是红色的。最后但最不重要的是,要记住错过的已删除评论并进行其他提交有什么不好?我想到了什么:为什么不在 Eclipse 中使用 @TODO 等标签或更好的 @COMMENT 并查看 Eclipse 中的任务列表?

    【讨论】:

      【解决方案3】:

      在 Eclipse 中打开一个任务视图。然后它将显示您在 cmets 中的FIXME 位置:

      // FIXME - uncomment this before checking in
      // importantThing.execute();
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2015-12-03
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多