Диспетчер пакетов против Git Submodule / Subtree - PullRequest
0 голосов
/ 10 сентября 2018

Есть ли причины использовать менеджер пакетов, а не git submodules / поддеревья, или наоборот? Решения git кажутся намного более сложными, чем простой менеджер пакетов.

Предположим, что экономия пространства подмодулями git не важна.

Обновление: Кто-то добавил тег C ++ к этому вопросу, но с тех пор я его удалил. Этот вопрос не относится конкретно к C ++. Приветствуются более общие ответы, чем принятые.

1 Ответ

0 голосов
/ 22 декабря 2018

Решения git кажутся намного более сложными, чем простой менеджер пакетов.

Это не о хлопотах .

Это два разных способа создания проекта:

  1. через бинарные зависимости, с менеджером пакетов ( Nexus или Conan для C ++ : вы объявляете ваши зависимости, а менеджер пакетов выбирает их и использует их во время компиляции.
  2. - исходные зависимости с подмодулями или поддеревьями Git, где вы храните ссылки на другой исходный код, импортируете их и перекомпилируете все.

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

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

Или когда нет двоичных зависимостей (что имеет место, например, с Go и его модулями ).

...