代码之家  ›  专栏  ›  技术社区  ›  Pekka

在提交后向变更集添加文件的聪明方法?

  •  0
  • Pekka  · 技术社区  · 15 年前

    有时我会忘记在变更集中包含一个文件(即提交属于一起的多个变更文件,例如“fixes bug 45”)

    我通常只会使用相同的提交消息进行第二次提交。

    有没有一种聪明而简单的方法可以将“迟到者”添加到第一次提交中?没有 svn dump ing和 svndumpfilter 惯性导航与制导?

    4 回复  |  直到 15 年前
        1
  •  1
  •   Edwin Buck    15 年前

    不,在svn中没有一种聪明的方法可以将文件添加到提交。这是真正的原子提交的副作用。一旦提交完成,它就完成了。如果是其他方式,那么提交就不是原子的,因为它仍然在等待“后一种”文件被添加。

    似乎您已经探索了使用“svn dump”和“svn dumpfilter”回滚提交的明显技术。唯一的其他选择是在错误地提交之前获取svn树的备份。祝你的防错算法好运!

    如果你真的觉得很烦人,我想你可以放一个预提交挂钩来做备份,但这有它自己的问题。在有人覆盖备份之前,您可能不会重新确认忘记了该文件,并且提交可能需要很长时间(由于备份)。

    最好的解决方案似乎是将提交注释为同一个bug的更改集的一部分。这样,搜索bug的修复将在日志中弹出两个条目,这基本上描述了“修复”问题所需的两次提交。这可能会对集成工具产生一些影响,就像使用钩子或工具检查日志一样,它们应该在一个bug的多次提交后仍然存在。通常这意味着手动更新bug为“准备好构建”,因为您永远不知道何时通过一次提交修复了bug,或者是否由于忘记而需要另一次提交来完成它。

        2
  •  2
  •   khmarbaise    15 年前

    不,SVN没有这样的东西。我建议做第二条日志消息

    - Followup to bug #45
    
    - Followup to revision 123132
    
        3
  •  1
  •   sylvanaar    15 年前

    不可以。您可以更改原始提交消息,但要让它指示它应该与其他提交一起提交,或者它是多部分提交的。

    即“修正错误45(1/2)”,或“修正错误45(另见修订版12321233)”。

    您需要确保在服务器上安装了pre-revprop钩子,以允许您编辑提交注释

        4
  •  1
  •   Nick Meyer    15 年前

    不,没有。