如何结合SVN提交?

时间:2009-07-21 15:21:58

标签: svn

如何在SVN存储库中进行一系列提交并将它们组合起来?

例如,存储库中存在修订版4-10,我想将它们组合成一个新版本4,其中包含之前4-10中的所有更改。

我不想破坏任何通过svn copy创建的现有标签。

这是因为存储库以前是在ClearCase中,而Polarion的迁移工具留下了大量需要清理的单个文件提交。

4 个答案:

答案 0 :(得分:5)

您可以在修订版3中创建分支,并将修订版4-10合并到分支

答案 1 :(得分:2)

在行之间阅读,看一下svk,它应该让你运行一个本地存储库,然后一次向主存储库提交一些更改。

答案 2 :(得分:1)

如果不创建新的存储库,就无法做到这一点,所以最好还是克服它。

如果你真的需要这样做,你可以用“svnadmin dump”和“svnadmin load”来做。

编辑:如果你只想将提交推出主干的历史记录但是保留在存储库中的其他地方就可以了,那么类似于Manu的提议是一个可行的解决方案:重命名主干到old_trunk,在要合并到trunk的范围之前复制修订,然后合并范围中的修订并提交。

答案 3 :(得分:1)

如果你真的需要这样做,那么从ClearCase中检查每个修订版(而不是单文件提交),然后使用WinMerge之类的工具手动复制新SVN签出上的文件,以确保所有文件的添加和删除都是复制以及更改。然后做一个SVN提交。

如果由于ClearCase提交的数量而导致手动工作太多(尽管您可以在没有太多困难的情况下自动执行此操作),那么请考虑手动提交SVN的主要修订(例如,点发布)。

如果这不可行,那么考虑不要从ClearCase中带来任何修订历史 - 只需从SVN开始。也许为了历史目的,使用ClearCase中的旧更改日志提交一个文本文件,这样如果有人需要返回并获取一些旧代码,他们就可以找出要查找的修订版本。