Могут ли подмодули git иметь собственный корень? - PullRequest
1 голос
/ 13 августа 2011

В настоящее время у меня есть два проекта, фреймворк и приложение.Репозиторий для платформы содержит ряд каталогов, которые не являются полезными в приложении.Я хотел бы иметь возможность настроить подмодуль git так, чтобы он копировал только нужные мне каталоги из репозитория фреймворка в корень каталога моего приложения.

Вот как выглядят каталоги моего проекта:

Framework

  • /
    • red-locomotive / - структура, которую я хочу использовать
    • modules / - каталог с дополнительными модулями
    • lib /- библиотеки, от которых зависит движок
    • примеров / - некоторые тесты
    • readme.md и т. д ...

Приложение

  • /
    • красный локомотив / - из фреймворка
    • модули / - из фреймворка
    • lib / - из фреймворка
    • ядро.js и т. д. *

Вы видите, что мне нужны три каталога из репозитория фреймворка в корне моего приложения.могут ли подмодули git сделать это?

Ответы [ 3 ]

2 голосов
/ 13 августа 2011

Неа. Подмодуль будет клонировать весь репозиторий, на который он указывает. Также вы не можете удалять какие-либо папки из подмодуля, поэтому нет возможности изменить его после включения.

Там, где я работаю, мы обнаружили, что модули - это довольно больно. Каждый раз, когда вы перераспределяете (в зависимости от вашего метода), вам нужно просмотреть каждый подмодуль и заново его инициализировать / добавить. Мы пытались использовать его для наших дополнений с открытым исходным кодом, таких как tinymce и tcpdf, но использовали этот метод.

1 голос
/ 07 августа 2012

Хотя вы не можете добавлять произвольные каталоги из репозитория фреймворка в корень напрямую, вы можете сделать фреймворк подмодулем и использовать разреженный извлечение , чтобы получить только те части, которые вам нужны в вашем рабочем дереве ( вероятно, в сочетании с мелким клонированием подмодуля ).

1 голос
/ 13 августа 2011

Вы можете сделать это, но каждая отдельная общая папка должна иметь свой отдельный субмодуль.Предполагая, что на корневом уровне нет файлов, которыми нужно поделиться.

...