0

我正在重构一个使用SVN. 当前代码有 2 个类,比如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.cpp是新版本Model.cpp(并且它将具有本地修改)。

当然,我还必须添加新的Model.cpp. 有可能还是会混淆SVN

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

4

1 回答 1

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.

似乎对我有用。

于 2012-12-12T00:09:36.643 回答