操纵SVN历史记录

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了操纵SVN历史记录相关的知识,希望对你有一定的参考价值。

是否可以通过在最后一个之前添加提交来强制SVN提交历史记录?例如,我会在某些历史记录中“创建”软件版本,其中仅包含稍后提交中存在的部分功能。有没有办法做到这一点?

谢谢

答案

您考虑的过程不应该在SVN的正常日常工作流程中使用,因为Subversion中的存储库历史记录是不可变的。您应该提交新的修订版,而不是更改现有的修订版。我不完全理解你的情况,但在我看来你想要从一个新的release branch开始。

在这种情况下我不能使用分支。但我可以接受更改额外提交后的每个版本号

创建分支并将这些更改记录为一系列提交而不是单个提交应该非常简单。这应该是最简单,最正确的方法。

PS如果您对服务器上的存储库具有完全访问权限,则可以使用管理工具对旧版本进行手术。但是,如果您不考虑所有注意事项,这项任务并非无足轻重,可能会有害。例如,在现有版本之间添加修订后,您将如何处理svn:mergeinfo

另一答案

如果你有直接的存储库访问权限(svnadmin dump / svnadmin load),可能有办法做到这一点,但这样做可能会破坏从你的存储库中检出的每个工作副本,修订版号与修订日期将无法正确跟踪,并且它会调用质疑存储库历史的完整性 - 如果你操纵了这个,你还能操纵什么?

找到另一种方法来执行此操作,例如从您需要的修订版本中分支或在需要修改的点之后恢复所有更改,然后重新应用它们。

以上是关于操纵SVN历史记录的主要内容,如果未能解决你的问题,请参考以下文章

SVN 提交旧日期/时间

svn迁移至git指南

怎么查看svn的提交记录

SVN查看修改过的文件

将代码从 svn 迁移到 google 代码

XCode 5 不显示 repo 的完整 SVN 历史记录