Патчи для WINE@Etersoft
Чтобы навести некоторый порядок, я постарался записать необходимые правила, которые должны помочь улучшению качества разработки.
О порядке создания изменений для WINE@Etersoft
- Нужно обязательно проверять, что проблема существует и на wine pure (запуском через wwo или как-то ещё). Это позволит узнать, проблема вызвана нашими изменениями или действительна для всех.
- Всю разработку нужно вести в ветке eterhack, обновляясь перед началом работы. Это позволит не исправлять баги, которые уже давно исправлены или ведут себя по-другому.
- После исправления в eterhack патч надо отправить (при необходимости портировав) в сборку стабильного релиза (сейчас eter-2.0.0)
Если исправление не является хаком, или касается какой-то части кода, изменённой нами в eterwine, то отправлять патч надо в eterwine.
Также напоминаю, что хаки, существенно добавляющие код, стоит по возможности реализовывать в виде отдельных функций, чтобы минимизировать изменения оригинального кода. Если требуется исключить часть кода, её следует поместить в конструкцию #if 0 #endif, не удаляя
Важные моменты:
- Патчи из eter-2.0.0 пропадут, потому что следующая версия будет основана на eterhack. Поэтому важно отправлять их одновременно и туда и туда.
- Патчи из eterwine автоматически копируются в eterhack
Не стесняйтесь обсуждать проблемы и возможные пути их решения в рассылке, для того она и существует.
Перед созданием хака, специфичного для WINE@Etersoft, нужно приложить максимум усилий для по возможности полного исследования проблемы и её источника, созданя минимальной программы для воспроизведения проблемы, и конечно для реального исправления, а не очередного костыля в коде.