В настоящее время у меня есть большой (30K коммитов) репозиторий SVN, который я нахожусь в процессе преобразования в git.Наша кодовая база в настоящее время имеет общий (базовый) набор кода, а также две отдельные базы (Java и .NET).Это позволяет нам совместно использовать общий код, а также использовать разные языки, когда мы отправляем сборку клиенту, который будет поддерживать только один из двух языков.
В настоящее время в репозитории 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: externals даст мне следующий макет:
Java/.NET
+>classes
+>public_html
+>admin
+>web
+>code
+>javascript
+>images
+>includes
+>styles
Это также позволит мне отредактировать код в этой папке, и проверка будет зафиксировать правильные места врепозиторий.
Мой вопрос заключается в том, будет ли это достижимо в git, с использованием субмодулей или каким-либо другим методом, или нам нужно переосмыслить весь наш макет и как достичь того, чего мы хотим, когдаречь идет о проверке ветки для создания сборки.Если мы можем сделать это с помощью подмодулей, должен ли я следовать стандартным учебникам по подмодулям или есть что-то более глубокое, на что я должен обратить внимание?
Спасибо!