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