SVN:移动文件,然后添加旧名称的文件

时间:2012-12-11 23:00:53

标签: svn refactoring

我正在努力重构一个版本为SVN的C ++代码树。当前代码有两个类,比如ModelModel_ext(每个类都有一个.hh文件和一个.cpp文件),它们不是相互派生的。 Model不应该被扩展,但它实现了一个特定的模型。

我想创建一个抽象基类,但更合乎逻辑的名称是Model。特定于当前Model中实现的模型的代码应该在一个名为Model_A的类中移动,该类派生自它。同样,Model_ext应重命名为Model_B,但这不是问题。

从版本控制的角度来看,我想将Model移动到Model_A,其中包含:

svn mv Model.cpp Model_A.cpp

(类似于头文件)以表明Model_A.cppModel.cpp的新版本(并且它将进行本地修改)。

当然我还要添加新的Model.cpp。它是否可能或会混淆SVN

我知道可以修改Model.cpp,添加Model_A.cpp(不使用svn mv)并提交这两个文件,但这会破坏旧版Model.cpp之间的所有链接和新的Model_A.cpp

1 个答案:

答案 0 :(得分:0)

试过以下......

$ svn move file.txt new.file.txt
A         new.file.txt
D         file.txt
$ vi file.txt
$ svn add file.txt
A         file.txt
$ svn status
R         file.txt
A         new.file.txt
$ svn commit -m"test"
Replacing      file.txt
Adding         new.file.txt
Transmitting file data .
Committed revision 5.

似乎适合我。