Библиотека и пример круговой зависимости в git - PullRequest
1 голос
/ 18 сентября 2011

Я делаю библиотеку js и использую git для контроля версий. Скажем, он расположен на mylib/lib.js. Внутри моего библиотечного каталога у меня есть подмодуль для примера программы, которую я разрабатываю вместе с этой библиотекой, скажем mylib/example/example.js. Теперь вопрос: как программа-пример должна обращаться к библиотеке?

Если я использую относительный путь, чтобы подняться и взять файл js (например, ../lib.js), это означает, что пример не является автономным; единственный способ запустить его - клонировать библиотеку. Тогда действительно нет никакого смысла, чтобы это был субмодуль вообще.

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

Есть ли лучшее решение этой проблемы?

1 Ответ

4 голосов
/ 18 сентября 2011

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

Если вам все время надоедать обновлять, напишите локальный хук * build / makefile / git, который гарантирует (все) вашу примерную программу (s) получить последнюю версию вашего lib.js.

* Локально, как внутри .gitignore, потому что эта точная настройка интересна вам как разработчику, на вашей машине

...