でバージョン管理された C++ コード ツリーのリファクタリングに取り組んでいSVN
ます。現在のコードには、相互に派生していない2 つのクラス(それぞれにファイルとファイルがあるModel
)があります。拡張されることは想定されていませんでしたが、特定のモデルを実装しています。Model_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
。