操纵SVN历史记录

时间:2017-12-27 09:54:04

标签: svn version-control commit

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

谢谢

2 个答案:

答案 0 :(得分:1)

如果您具有直接存储库访问权限(svnadmin dump / svnadmin load),可能有办法执行此操作但执行操作可能会破坏从存储库中检出的每个工作副本,修订号与修订版日期将无法正确跟踪,它会对存储库历史记录的完整性提出质疑 - 如果您操纵了这个,那么您还可以操纵什么?

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

答案 1 :(得分:1)

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

  

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

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

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

相关问题