Иccледование нестандартных рабочих процессов Git для управления не связанными друг с другом продуктами Смежные области
Тезисы
Git – это популярный и эффективный децентрализованный инструмент контроля версий (DVCS), по которому написано множество руководств и документов типа «лучшие практики» относительно рабочего процесса, которые помогают контролировать сложность, представлять историю и стимулируют командную работу в общем репозитории.
В Tokutek мы разрабатываем продукты с множеством не связанных друг с другом компонентов, которые могут быть скомбинированы несколькими способами (TokuDB для MySQL и для MariaDB, TokuMX для приложений MongoDB, а также версии каждого продукта для сообщества и enterprise-версии с библиотекой экстренного горячего резервирования). Данный бинарный пакет может быть собран на основе независимых репозиториев git в количестве до 5, причём некоторые из них могут быть общими для нескольких продуктов. Мы разработали и опробовали методологии для управления сложностью, историей и командной работой, а также для поддержки надлежащего управления версиями и задач по построению релизов.
В данном докладе я расскажу о нескольких вызовах, с которыми наша команда столкнулась в связи с вышесказанным, и продемонстрирую стратегии, которые мы вырабатывали и оценивали, а в конце приведу описание выбранной нами модели и объясню, как она может мотивировать других на использование сложных моделей git.