Существует ли инструмент командной строки для автоматизации ведения коллекции исходных библиотек и применения их к проектам?
Для игровых джемов (или, возможно, также для долгосрочных проектов) я не хочу размещать своисобственный клон каждой библиотеки, которую я использую, чтобы иметь возможность изменять ее (и предоставлять каждому члену моей команды разрешение на каждый клон).Вместо этого я хочу, чтобы весь мой исходный код находился внутри дерева исходных текстов моего проекта - это означает, что я не могу использовать подмодули git.
Итак, скажем, у меня есть проект "puppypark" и я хочу использовать некоторые библиотеки "baton""и" windfield ".
Я ищу такой вид рабочего процесса:
- зарегистрировать библиотеки
librarian add baton git://lib.com/baton.git
- клонирует вцентральное хранилище (например, в ~ / .librarian /)
- добавление библиотек в проект
librarian use baton puppypark ./src/foreign/
- создает ветку (отключеноmaster) для этого проекта в центральном репозитории
- объединяет изменения проекта в центральном репозитории
librarian apply puppypark
- переключается в ветку проекта и копирует изменения вклон
- объединить вышестоящие изменения в проект
librarian apply baton puppypark
- принимает текущее состояние ветви проекта и копирует в проект
- никаких действий не происходит, если в целевом хранилище нет чистого рабочего пространства
- действия всегда приводят ккоммит, суммирующий предпринятые действия
- коммиты всегда должны иметь идентификатор фиксации (ша)
Это может быть независимо от моей системы контроля версий, но если это такэто с git, это тоже здорово.
Я думаю, что это что-то вроде Карфагена (но для исходного кода вместо встроенных библиотек, и меня не интересуют зависимости).Может быть, я смогу достичь этого с помощью git-subtree, но я не понимаю как.Я думаю, что это похоже на loverboy , но меня интересует более общее решение.