我目前有一個大的(30K提交)SVN存儲庫,我正在轉換爲git。我們的代碼庫目前有一個共同的(核心)代碼集,以及兩個獨立的基礎(Java和.NET)。這使得我們可以共享通用代碼,並且在將構建推送給僅支持兩種語言之一的客戶時使用不同的語言。爲git遷移規劃存儲庫佈局
SVN存儲庫目前大量使用svn:externals在結賬時使用通用代碼以及語言特定的代碼來生成特定的佈局。
一個精簡的版本庫佈局的版本如下:
Core
+
+-->classes
+-->public_html
+>admin
+>web
+>images
+>javascript
+>styles
Java
+
+-->public_html
+>web
+>includes
+>code
.NET
+
+-->public_html
+>web
+>includes
+>code
目前,當我在SVN從主幹結帳,我會在磁盤上的佈局,但是如果我籤一個子文件夾(Java或.NET),SVN:外部組件會給我以下佈局:
Java/.NET
+>classes
+>public_html
+>admin
+>web
+>code
+>javascript
+>images
+>includes
+>styles
這也會讓我該文件夾中編輯代碼,做一個籤將致力於在資源庫中的正確位置。
我的問題是,這是否將是在Git中實現的,使用的子模塊或其他方法,或者如果我們需要重新思考我們的整個佈局以及如何實現我們想要的東西,當談到做簽出一個分支來創建一個構建。如果我們可以用子模塊來做到這一點,我應該遵循標準的子模塊教程,還是應該更深入一些,我應該看看?
謝謝!