假设我的Subversion存储库中有一个名为MyClass.cs
的文件。随着时间的推移,MyClass
已经发展到我想将其拆分为两个单独的文件,但我需要保留每行代码的历史记录。
我可以使用的一个选项是对MyClass2.cs
执行SVN复制,然后从一个文件中删除一半代码,从另一个文件中删除一半代码。如果我从每个中删除正确的东西,这种方法效果相当不错。
但是,如果我已完成分离文件的所有工作,然后实现(在提交之前)我没有执行复制,我该怎么办? 有没有办法表明“此现有新文件”是“此其他已知文件”的副本?
我正在使用TortoiseSVN,因此机会中的机械将是理想的,但如果需要,我对命令行感到满意。
This other question地址追溯到过去添加了更改,但我只是在寻找预先提交的答案。
答案 0 :(得分:3)
重命名新文件以保存它。
制作SVN副本以保留历史记录。 (可能在Repo浏览器中)
用保存的副本替换副本。 (Windows“copy”或Linux“cp”)
你应该拥有所有历史记录并且可以提交。
答案 1 :(得分:3)
以下是我要做的事情:将您的修改复制到其他地方。还原旧文件。 SVN复制到新文件。使用您的编辑覆盖旧文件和新文件。提交。