提交后将文件添加到changeset的聪明方法?

时间:2010-04-29 12:30:20

标签: windows svn tortoisesvn

我有时会忘记在变更集中包含一个文件(即提交一些属于一起的已更改文件,例如“修复错误#45”)

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

是否有一种聪明而简单的方法可以将“后来者”添加到第一次提交?没有svn dumpsvndumpfilter ing?

4 个答案:

答案 0 :(得分:2)

SVN中没有这样的内容。我建议制作第二条日志消息

- Followup to bug #45

- Followup to revision 123132

答案 1 :(得分:1)

没有。您可以更改原始提交消息,以使其指示应该使用的其他提交,或者它是多部分。

即。 “修复bug#45(1/2)”,或“修复bug#45(另见rev 1232,1233)”

您需要确保在服务器上安装了一个pre-revprop挂钩,以允许您编辑提交说明

答案 2 :(得分:1)

不,没有。

答案 3 :(得分:1)

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

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

如果你真的觉得它很烦人,我想你可以放一个预提交钩子来进行备份,但这有它自己的问题。在有人覆盖备份之前,您可能无法识别您忘记了文件,并且提交可能需要很长时间(由于备份)。

最好的解决方案似乎是将您的提交注释为同一个bug的更改集的一部分。这样寻找修复bug就会在日志中提取两个条目,这基本上描述了两个提交都是“修复”问题所必需的。这可能会对集成工具产生一些影响,就像您使用钩子或工具来检查日志一样,它们应该能够在单个bug上进行多次提交。通常这意味着手动更新错误为“准备构建”,因为您永远不知道错误何时被一次提交修复,或者是否需要另一次提交以便因健忘而完成它。