Где в хранилище хранятся тестовые данные?

У меня есть проект для анализа изображений. Тестовые данные для этого проекта - около 15 ГБ изображений. Вопрос: где хранить такие тестовые данные, учитывая, что необходимость хранить несколько версий и большая часть разработчиков нуждается в этих данных?

В том же репозитории, что и код? В отдельном репозитории с внешней ссылкой?

Ответ 1

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

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

Ответ 2

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

Ответ 3

Вам необходимо сохранить их в отдельном ссылочном файле, более приспособленном к таким типам файлов.

Используйте репозиторий артефактов, например Nexus в качестве здесь. < ш > Добавьте в свой DVCS репо сценарии, необходимые для получения от Nexus правильных версий.

Таким образом, вы быстро и легко клонируете свои источники, и при необходимости загружаете двоичные файлы из второго ссылочного материала.

Ответ 4

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

Git - система контроля версий, точнее она хранит список снимков вашего проекта. Каждый снимок представляет ваш проект в определенный момент времени.

Независимо от того, какое решение вы выберете, в вашем проекте может быть возможно извлечь тестовые данные, как это было в любом снимке в истории проекта.

Например, если каждое изображение существует постоянно на фиксированном URL-адресе, ваш проект git может просто хранить текстовый файл со всеми URL-адресами. Во время выполнения выберите script для каждого изображения. По мере того, как ваш проект развивается, и изображения добавляются или удаляются из набора тестов, не изменяйте существующую схему URL. Обновите файл указателя и зафиксируйте его.

Еще одной хорошей идеей может быть запись md5 или sha1 хэшей изображений по каждому URL-адресу. Ваша загрузка script должна выполнить сравнение для проверки во время выполнения, поэтому вы можете быть предупреждены о любых несоответствиях.