在工作中設置Subversion版本庫沒有太多規劃其結構。目前沒有明確的標籤,樹幹或樹枝配置,但也有一些標註元數據存在通過使用Subclipse的組成:標籤重組Subversion版本庫的長期影響
目前該庫的格式爲:
/CoreCodeA
/CoreCodeB
/PROJECT1
/Project2的
最近,一個新的開發者開始在我們的內部應用程序的 「2版」 就是他在不同的文件夾下:
/新/ NewCoreA
/新/ NewCoreB
/新/項目3
/新/ Project4
這些項目都有依賴於核心代碼的各個部分,以及類似的項目(例如,幾個項目可能依賴於相同的主題)。這些依賴關係在一些基於文本的項目屬性文件的內容中被引用。
我一直在玩使用svndumpfilter命令,通過sed管道輸出並將其重組爲兩個單獨的存儲庫(「舊」和「新」)。很容易做到,現在我有兩個不同的存儲庫,並設置了trunk,tags和branches(subclipse標籤信息可以在以後重新存檔)。
我擔心的是,通過擺脫每次提交的顛覆結構,我打破以前工作的構建,尤其是考慮到對其他項目的依賴關係。另一方面,我需要儘早在此代碼庫中添加標籤和分支。但是,如果我在幾個月後改變主意,我也不想強迫開發人員重新檢查他們的項目。
我想我的每個倉庫的選擇是:
- 號碼以「轉型前的」標籤庫,整理我多麼希望庫,標籤與「-重組後
- 。好:不會打破歷史建立
- 壞:有效切斷從過去的工作今後的工作中,沒有簡單的能力,使XX1補丁發佈
- 改組整個倉庫,打破以前的版本
- 好:代碼歷史連續性保持
- 不好:以前的版本被破壞,肯定會需要x.x.1個補丁版本,如果以後再需要
- 改組整個倉庫,並在每個階段編輯項目屬性文件
- 好:代碼保持連續性和項目應該建立
- 壞:編輯實際內容文件是比較脆弱不是簡單地改變關於他們的位置
前兩種選擇都容易ENO元呃要做 - 但我希望從其他開發者那裏得到一些真實世界20-20年的事情,看他們在類似情況下做了什麼,以及出了什麼問題或錯誤。