Следует ли добавлять каталог `.bundle` в CVS?

#ruby #git #bundler #gitignore

#ruby #git #bundler #gitignore

Вопрос:

Недавно я переместил некоторые из зависимостей моего проекта Ruby в development group, чтобы не устанавливать их в производственных средах (например rubocop )

И в этих проектах я вижу, что есть новый файл .bundle/config с таким содержимым:

 ---
BUNDLE_WITH: "development"
  

Или

 ---
BUNDLE_WITHOUT: "development"
  

Я думаю, что могу безопасно добавить этот файл (и .bundle ) папку в .gitignore , но, чтобы быть уверенным — есть ли для этого какие-либо рекомендации?

Не удалось найти никакой полезной информации в $PROJECT_ROOT/.bundle каталоге

Ответ №1:

TL; DR

Не храните каталог .bundle в исходном коде. Предполагается, что это локальный кэш определенных настроек и флагов пакета, а не что-то общее для всех участников проекта.

Анализ

Есть несколько аргументов за и против сохранения вашего Gemfile.заблокируйте систему управления версиями, но содержимое каталога .bundle не предназначено для совместного использования несколькими пользователями / машинами в рамках проекта. Единственный потенциальный вариант использования tracking .bundle / config — запоминать определенные флаги при выполнении в производственной или тестовой ветке, но такое поведение в любом случае не рекомендуется.

С практической точки зрения хранение каталога .bundle может привести к непреднамеренному использованию флага вашими коллегами-разработчиками. Это, вероятно, приведет к ненужным усилиям по отладке и потенциально неожиданному поведению участников проекта. Задача Rake или сценарий установки / развертывания — лучший вариант для обработки флагов пакета, тем более что это поведение устарело и планируется отменить в пакете 3.