Git-сервер MTSR

Материал из Wiki MTSR
Версия от 05:45, 11 августа 2024; Koldun (обсуждение | вклад) (описан gitflow)
(разн.) ← Предыдущая версия | Текущая версия (разн.) | Следующая версия → (разн.)
Перейти к навигации Перейти к поиску

Git-сервер MTSR предназначен для хранения, разработки новых или же доработки существующих модов игры minetest. Разработку можно вести как собственноручно, так и работая в общей команде.

Общие рекомендации по использованию git-сервера MTSR

Размещение модов в репозиторий

  • каждый самостоятельный мод следует хранить в своём отдельном репозитории.
  • если есть несколько тесно связанных модов (которые могут иметь зависимость друг от друга), то их можно разместить в одном общем репозитории. Но лучше этого избегать, размещая каждый мод в отдельном репозитории, дополнительно давая ссылку на репозиторий связанного мода в описании.

Функциональные ветки в репозиториях

Maintainer мода — человек, который владеет репозиторием мода и управляет его развитием. Каждый репозиторий содержит ветку main — это текущая релизная версия мода, готовая к установке на сервер. От ветки main растёт ветка devel. В неё попадают новые функции, которые либо проходят интеграционное тестирование, либо уже его прошли, но ещё не были одобрены для релиза.

Внесение изменений (исправление ошибок, дополнения и т.д.) в моды других участников git-сервера

Если вы собираетесь что-то менять в существующем моде, то для этого изменения:

  1. Вы должны создать свою отдельную ветку (эта ветка должна расти из ветки main);
  2. По завершении работы над изменениями вам нужно создать запрос на слияние с веткой devel (в описании к запросу необходимо подробно описать, что вы сделали), по возможности, старайтесь использовать стратегию rebase;
  3. После того, как ваши изменения будут протестированы и maintainer мода признает их желательными, он одобрит слияние.
  4. Ваши изменения попадут в ветку devel, и могут какое-то время оставаться там в ожидании. Такое может быть, если в скором времени ожидаются ещё какие-то изменения, которые обязательно нужно протестировать вместе с вашими.
  5. Если все необходимые изменения попали в ветку devel и больше критических изменений не ожидается, maintainer создаёт запрос на слияние ветки devel с веткой main, где приводит список всех добавляемых изменений. На своё усмотрение maintainer мода на этом этапе может привлекать других людей для ревью перед финальным слиянием.
  6. После того, как запрос пройдёт все проверки и слияние будет одобрено, все новые изменения попадут в ветку main. По своему усмотрению maintainer может поставить на текущем положении ветки main тэг с версией релиза и журналом изменений.

Совместная работа с модами. Организация модов MTSR

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

На данный момент на git-сервере заведена организация "MTSR", содержащая репозитории модов, установленных на основной игровой сервер (далее "Моды MTSR"). Только моды, перенесённые в эту организацию, будут устанавливаться на основной игровой сервер.

К репозиториям модов MTSR применяются более строгие требования. Репозиторий, не отвечающий данным требованиям не будет переносится в организацию MTSR и, следовательно, не будет установлен на игровой сервер.

Для модов MTSR рекомендации, описанные выше, обязательны к исполнению. Дополнительно, слияние с веткой main в таких репозиториях возможно только при одобрении ещё одного maintainer'а из организации MTSR. Мод MTSR должен содержать файл CONTRIBUTING.md с описанием правил работы с этим модом и/или ссылкой на эту страницу.