LINUX.ORG.RU

Вложенный репозиторий

 ,


0

2

Есть два проекта, которые имеют в зависимостях один модуль(в виде сорцов). Для проектов отдельные репозитории, у модуля тоже.

Иногда во время работы над проектом в модуль вносятся изменения, которые должны попасть и в другой проект. Собирается всё тимсити

Как это реализовать? Сабмодули не подходят - нельзя в них коммитить, subtree вроде не совсем то. Самое очевидное - держать внутри репозитория другой репозиторий, но это тоже проблемно

Структура директорий выглядит примерно так

  • Project
    • sourceApplication
    • sourceModule
    • config.txt
    • ...

Может, настрой билд того шареного модуля, и подключи в зависимости у проектов?? Через npm, maven, RubyGems, NuGet — не знаю чего у тебя там.

noomorph
()
Ответ на: комментарий от noomorph

В модуль довольно часто коммитят, так что удобнее держать его в виде сорцов, а не в виде артефакта

bububu
() автор топика

Сабмодули не подходят - нельзя в них коммитить

с чего бы вдруг? они как раз и подходят

quest ★★★★
()

Сабмодули не подходят - нельзя в них коммитить

нельзя в них коммитить

cd submodule && git commit

Или речь о другом?

subtree вроде не совсем то

Примерно то же самое, что и submodules, только вместо ссылки на другой репозиторий его содержимое.

модуль(в виде сорцов)

Если линковка с проектами возможна только статически, то это не модуль, а неотъемлемая часть проекта.

backbone ★★★★★
()
Ответ на: комментарий от orm-i-auga

черт да, можно, я погнал) спасибо

bububu
() автор топика
Ответ на: комментарий от backbone

Если линковка с проектами возможна только статически, то это не модуль, а неотъемлемая часть проекта.

Да, наверное так правильнее

Спасибо

bububu
() автор топика

Всем спасибо, решено

bububu
() автор топика

2 варианта:

* submodule (уже разжевали) * subtree merge

В твоем случае подходит submodule. Только учти, после коммита в «расшаренный» сабреп, в проектах придется явно обновлять ревизию, на которую они завязаны. И это правильно.

Sectoid ★★★★★
()
Последнее исправление: Sectoid (всего исправлений: 1)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.