在SVN中保留历史记录时分割文件
在重构过程中,我有时不得不将一个源文件拆分为两个或多个(例如,当一个类变得太大以至于应该拆分为两个类时) 例如,A是原始文件,B1和B2是新文件 是否可以告诉SVN B1和B2都应该“继承”文件A的完整历史记录,因此当我查看B1和B2的历史记录日志时,我可以看到它们是从A中出现的,日志如下所示:在SVN中保留历史记录时分割文件,svn,tortoisesvn,Svn,Tortoisesvn,在重构过程中,我有时不得不将一个源文件拆分为两个或多个(例如,当一个类变得太大以至于应该拆分为两个类时) 例如,A是原始文件,B1和B2是新文件 是否可以告诉SVN B1和B2都应该“继承”文件A的完整历史记录,因此当我查看B1和B2的历史记录日志时,我可以看到它们是从A中出现的,日志如下所示: A B1 B2 - change A3 - change B1.2 - change B2.2 - change A
A B1 B2
- change A3 - change B1.2 - change B2.2
- change A2 - change B1.1 - change B2.2
- change A1 - change A3 - change A3
- change A2 - change A2
- change A1 - change A1
我知道在重命名文件时如何保存历史记录(如前所述),但这只是保存与B1或B2关联的文件的历史记录的一种方法,而不是两者都关联
目前我正在Windows上使用Ortoise SVN 1.6.12 只需制作文件A的两个SVN副本,然后SVN删除文件A即可 我刚刚用一种新的回购协议做了一个快速测试,它似乎工作得很好
备注:使用OrtoiseSVN制作文件副本最简单的方法是使用右键单击拖动文件。上下文菜单将显示一些选项,如SVN copy和SVN move,可以同时重命名。有没有办法从.Net代码按语法进行SVN copy?我需要自动完成上面的步骤。检测文件中的类并处理它们可以使用Microsoft Roslyn(用于.Net代码)进行语义上的处理。这个问题是时间旅行的发散时间线的隐喻,不是吗,博士?@ACK_stoverflow:你找到我了;-)