Добавить зависимости в хранилище или нет? - PullRequest
2 голосов
/ 26 декабря 2010

У меня есть движок, который имеет довольно много зависимостей. Чтобы облегчить себе и другим в моей группе, которые хотят проверить движок через SVN, я зафиксировал зависимости в том же хранилище. Теперь я знаю, что почти во всех проектах требуется, чтобы вы загрузили зависимости, но, опять же, для устранения этих проблем я включил их (я знаю о проблемах лицензирования, поэтому я буду их удалять, если распространю. так что это не проблема).

Теперь мы переходим к Mercurial и решили начать с нового репозитория вместо преобразования SVN в Mercurial. Итак, пришло время очистить хранилище, а также выяснить, не является ли это хорошей практикой. Я подозреваю, что это не так, но я подумал, что я должен убедиться и спросить, что я могу сделать, чтобы сделать его лучше и в то же время сохранить бесплатные проверки (то есть проверить движок и зависимости за один раз, а не скачать все из них и пытается сопоставить версии одновременно).

Еще несколько деталей. Я использую переменную окружения для основного пути к моему движку. Прежде чем я начал писать этот вопрос, я собирался разделить свой движок и зависимости и создать два репозитория. Один будет двигателем, другой - зависимостями. Тогда зависимости также будут иметь переменную окружения, чтобы проекты могли легко их использовать. Это также позволит мне распространять свой проект без зависимостей и позволять людям получать его самостоятельно в зависимости от лицензии любой данной зависимости.

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

Ответы [ 3 ]

1 голос
/ 26 декабря 2010

Такие проекты, как Ручной тормоз , используют wget / curl для загрузки и компиляции зависимостей (включая x264 и ffmpeg) в Makefile.

1 голос
/ 26 декабря 2010

Вы можете использовать расширение Subrepo:

Mercurial Subrepos - как вы их создаете и как они работают?

Это позволяет вам иметь ссылки на вашзависимости - до тех пор, пока они имеют репозитории Hg или SVN.Вы исправляете номер ревизии и обновляете его вручную при переходе на новую версию.

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

1 голос
/ 26 декабря 2010

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

...