1

假设我的 Subversion 存储库中有一个名为MyClass.cs. 随着时间的推移,MyClass已经发展到我想将其拆分为两个单独的文件的地步,但我需要保留每一行代码的历史记录。

我可用的一种选择是将 SVN 复制到MyClass2.cs,然后从一个文件中删除一半代码,从另一个文件中删除一半。如果我从每个内容中删除正确的内容,这可以很好地工作。

但是,如果我已经完成了所有工作来分离文件,然后意识到(在提交之前)我没有做副本,我该怎么办。 有没有办法表明“这个现有的新文件”是“这个其他已知文件”的副本?

我正在使用 TortoiseSVN,因此其中的机制是理想的,但如果需要,我对命令行感到满意。

另一个问题是追溯添加过去的更改,但我只是在寻找提交前的答案。

4

2 回答 2

3

重命名新文件以保存它。

制作保留历史记录的 SVN 副本。(可能在回购浏览器中)

用保存的副本替换副本。(Windows“复制”或Linux“cp”)

您应该拥有所有历史记录并且可以提交。

于 2013-04-16T18:22:27.883 回答
3

这就是我要做的:将您的编辑复制到其他地方。还原旧文件。SVN 复制到新文件。用您的编辑覆盖旧文件和新文件。犯罪。

于 2013-04-16T18:23:14.533 回答