如何合并SVN的历史记录



我想合并不同分支中两个文件的历史记录。两个文件的内容不一样

例子
Branch1 a.txt 
History(rev)
1 make file
7 Modify file
15 add functions 
Branch 2 b.txt
32 make file
45 Modify file
60 add functions
Expectation
a.txt
1 make file
7 Modify file
15 add functions
32 make file
45 Modify file
60 add functions

文件名可以是a.txt或b.txt

  1. 你可以很容易做到(伪造历史)
  2. 如果Branch1Branch2的祖先(测试它),你可以尝试一些技巧dump of repo (dump-edit-import intonew)repo,测试结果,用扩展的repo替换未修改的repo):

艰难

为了有共同的历史记录,你必须在r15和r32之间有新的或编辑的现有更改集,其中rename a.txt ->b.t txt将被记录…但是,如果您在现有历史记录的中间添加修订,您还必须更改所有后续修订的编号(AFAICR)也

  1. 在创建转储之前,您必须创建这样的"rename-revision;在任何受影响分支的HEAD中(以便在转储中复制粘贴其表示)
  2. <
  3. 转储/gh>
  4. 编辑
  5. 加载完全修改的转储

更简单的方法

  1. p。1 .困难的方式,写|记住这个提交的rev-id N
  2. p。2 . hard way
  3. 从开始加载转储部分到15:32之间的某个地方,注意最大加载版本M
  4. 加载"重命名"只N,在步骤1中准备
  5. 在M+1范围内加载转储的剩余部分:N-1(从断点到结束,不包含最后一个"技术");修订,在抛光历史中不需要)

相关内容

  • 没有找到相关文章

最新更新