LINUX.ORG.RU

Как правильно хранить файлы настроек в репозитории?

 ,


0

1

Вечер добрый, дорогой ЛОР!

Нубский вопрос. Даже джва.

Пописываю простенькую CRUD-аппликуху для своих специфических нужд (ну и больше поучиться). Хочу хранить сорцы в гит-репозитории, коммитить как взрослый дядя и вот это вот всё.

Вынес часть настроек (например путь к файлику бд, порт приложухи и т.п.) в отдельный файл - возник вопрос в каком виде его хранить в репозитории? Закоммитить его с некими начальными параметрами, которые подойдут для желающих сделать git clone и запустить на посмотреть приложуху а потом добавить его в gitgnore и уже у себя менять как мне там в процессе дальнейшего байтомарания понадобится?

Второй вопрос касается тестов.

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

Как правильно организовать их хранение? Отдельная репа для кода с тестами и эталонами?

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

Вынес часть настроек (например путь к файлику бд, порт приложухи и т.п.) в отдельный файл - возник вопрос в каком виде его хранить в репозитории? Закоммитить его с некими начальными параметрами, которые подойдут для желающих сделать git clone и запустить на посмотреть приложуху а потом добавить его в gitgnore и уже у себя менять как мне там в процессе дальнейшего байтомарания понадобится?

Да, просто дефолтный конфиг хранить в репе, а локальный менять как хочется. Естественно, по-хорошему надо бы иметь более приоритетный и менее приоритетный путь к конфигу. В опакеченном виде дефолт в итоге окажется в /etc, а если юзер захочет юзерский — скопирует файл к себе в ~/.config и изменит как хочет. Ну и ты для своихбайтомараний там же будешь развлекаться. Опционально, как вариант, программа может создавать там дефолтный конфиг при первом запуске, а юзер может его править как хочет.

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

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

CrX ★★★★★
()
Ответ на: комментарий от CrX

Естественно, по-хорошему надо бы иметь более приоритетный и менее приоритетный путь к конфигу.

Отлично, как-то не подумал об этом сначала.

До опакечивания еще далеко, даже не загадываю на это дело пока :)

frunobulax ★★★★
() автор топика
Ответ на: комментарий от CrX

более приоритетный и менее приоритетный путь к конфигу

Ещё можно делать fallback - embedded config с записью его в ~/.config/… если ни один конфиг не найден в ожидаемых местах.

anonymous
()

Написать что-то типа config.example.cfg с какими-то умолчальными параметрами и хранить его в репе. Приложуха же пусть читает config.cfg. Главное не забывать поддерживать config.example.cfg в дефолтном состоянии.

shell-script ★★★★★
()

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

https://git-lfs.com/ если это бинарники

anonymous
()

Как правильно организовать их хранение? Отдельная репа для кода с тестами и эталонами?

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

anonymous
()