Разработка MyDB Сервер для MySQL¶
MyDB Сервер для MySQL — это проект с открытым исходным кодом, предназначенный для создания дистрибутива сервера MySQL с улучшенной производительностью, масштабируемостью и диагностикой.
Отправка изменений¶
Мы основную ветвь исходного кода в постоянном состоянии стабильности, чтобы обеспечить возможность выпуска в любое время и минимизировать потерю времени разработчиков из-за неработающего кода.
Обзор рабочего процесса¶
В MyDB мы используем Git для контроля версий, Gitflic для хостинга кода и для управления выпусками.
Мы изменяем наше программное обеспечение, чтобы реализовать новые функции и/или исправить ошибки. Рефакторинг можно классифицировать либо как новую функцию, либо как исправление ошибки в зависимости от объема работы.
Передать код можно в виде запроов на слияние на Gitflic.
Для MyDB Сервер для MySQL у нас есть несколько веток Git, в которых происходит разработка. В настоящий момент это 8.0, и 8.4. Поскольку MyDB Сервер для MySQL не является традиционным проектом, а представляет вместо этого набор исправлений для существующего продукта, эти ветки не согласованы. Другими словами, мы не переносим изменения из одной ветки в другую автоматически. Чтобы включить ваши изменения в несколько веток, вы должны предложить к слиянию несколько веток.
Внесение изменений в проект¶
-
git branch https://gitflic.ru/project/mydb-ru/mydb-server/featureX
(где ‘featureX’ — это некоторое название для поставленной задачи) -
(разработчик вносит изменения в featureX, тестируя локально)
-
Разработчик отправляет локальные изменения в
https://gitflic.ru/username/mydb-server/featureX
-
Разработчик может отправить запрос на слияние в https://gitflic.ru/project/mydb-ru/mydb-server,
-
Код проходит проверку
-
Как только код пройдёт проверку разработчиками и будет принят, его можно будет объединить.
Если изменение также применимо к стабильной версии (например, 8.0), то изменения должны быть сделаны на ветке 8.0 и предложены к слиянию в основную ветку (например, 8.4). В этом случае должны быть две ветки, проходящие через сборку параметров, и два предложения по слиянию (одно для стабильной версии и версии с изменениями, добавленными в основную ветку). Это предотвращает ситуацию, когда кто-то другой должен догадаться, как объединить ваши изменения с каждой из поддерживаемых веток репозитория.