我正在重構一個C++代碼樹,版本號爲SVN
。當前的代碼有兩個類,分別爲Model
和Model_ext
(每個都有一個.hh
文件和一個.cpp
文件),它們不會相互派生。 Model
不應該擴展,但它實現了一個特定的模型。SVN:移動文件,然後添加一箇舊名稱的文件
我想創建一個抽象基類,但這個邏輯名更合理,是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
之間的所有鏈接。
移動之後&添加新的'Model.cpp'之前提交併且沒問題。 – Wrikken
當然,但是中間版本不會編譯(因爲基類不存在),我試圖避免這種情況。 –
那麼,不要編譯它。持續集成有它的限制,並且trunk並不是玩的地方,發生在分支機構......但是,我爲你做了一個快速測試,svn v.1.6提交替換的文件就好了,但老版本可能在我的(可能有缺陷的)回憶中有問題。 – Wrikken