Skip to content

Latest commit

 

History

History
103 lines (78 loc) · 6.07 KB

CONTRIBUTING-RU.md

File metadata and controls

103 lines (78 loc) · 6.07 KB

УЧАСТИЕ

Этот документ поможет вам ознакомиться с нашим процессом разработки.

Предложение исправлений

При внесении изменений в исходный код, пожалуйста, следуйте следующим правилам:

  1. Каждое изменение должно быть логически завершенным и, по возможности, минимальным. Это позволит нам быстрее проверить и принять его.
  2. Старайтесь придерживаться единообразного стиля оформления кода.
  3. Детально опишите, что и зачем ваш код исправляет.
  4. Если ваше исправление требует обновления документации (справки, Энциклопедии и т.п.), не забудьте и ее обновить.
  5. Исправления желательно отправлять в виде пулл реквестов в репозиторий или в виде diff-файлов на наш багтрекер или форум.
  6. Если вы планируете вносить большие исправления или просто желаете находиться в курсе последних событий в разработке Far'а, подпишитесь на нашу рассылку для разработчиков ([email protected]).
  7. Если вы будете присылать нам исправления часто и хорошего качества, вам будет предоставлен полный доступ к репозиторию, на наше усмотрение.

Сборка

  1. Для сборки в Visual Studio можно использовать проект для IDE или makefile.
    Пример для msbuild & vcxproj:
    msbuild /property:Configuration=Release;platform=x64 far.vcxproj
    Пример для nmake & makefile:
    nmake /f makefile_vc

  2. Для сборки в GCC можно использовать makefile.
    Пример для MinGW & makefile:
    mingw32-make -f makefile_gcc

Также см. комментарии в makefile_* для дополнительных параметров сборки.

Описание изменений - файл changelog

  1. Все комментарии по внесенным изменениям пишутся в файл changelog. В исходном коде имеет смысл оставлять комментарии только если участок может быть непонятен для "будущих поколений".
  2. Изменения добавляются в начало файла.
  3. Каждая запись начинается с шапки вида:

warp 05.12.2006 01:39:38 +0300 - build 2149

  1. Изменениям может не присваиваться билд, например, была косметика или изменения не в коде.
  2. Пример макроса для создания шапки:
   Macro {
     area="Editor"; key="Ctrl`"; action = function()
       Keys("CtrlHome End CtrlLeft")
       build=mf.int(mf.substr(Editor.Value,Editor.RealPos-1))+1;
       Keys("CtrlHome")
       print(mf.date("name %d.%m0.%Y %H:%M:%S %z - build ")) print(build)
       for RCounter=4,1,-1 do  Keys("Enter") end
       Keys("Up Up 1 . Space")
     end;
   }

farversion.m4

  1. Этот файл содержит информацию для генерирования версии Far:
    • SPECIAL_VERSION, строка, которая, если задана, помечает сборку как специальную.
      • Предназначено для выпуска версий Far, код которых ещё не вошел в репозиторий, чтоб не путать пользователей и нас.
      • Если не задана, тип сборки будет определён переменной окружения FARMANAGER_BUILD_TYPE. Если переменная не задана, тип сборки будет приватным. Поддерживаемые типы сборок см. в перечислении VERSION_STAGE в plugin.hpp.
    • VERSION_MAJOR - мажорная версия Far (например, 3).
    • VERSION_MINOR - минорная версия Far (например, 0).
    • VERSION_REVISION - ревизия версии Far (например, 0).
    • VERSION_BUILD - задаётся в файле vbuild.m4.

vbuild.m4

  1. Если в файле vbuild.m4 был изменен номер билда, то после коммита изменений в репозиторий необходимо запустить tag_build.bat.

Добавление новых строк в языковые файлы

  1. Lng-файлы ренерируются автоматически.
    Добавлять изменения надо в farlang.templ.m4.
    Если вы не знаете, как перевести новые строки на какой-либо язык, используйте английский вариант с префиксом upd:.

x64 - обеспечение удачной компиляции для x86 и x64

  1. DWORD_PTR, LONG_PTR, etc. применяется вместо DWORD/long/etc. в следующих случаях:

    • нужны там где раньше были int/long/dword/или_любой_не_поинтер_тип_даных и в него пихали поинтер
    • ...
    • ...

Напоминаниям, TODO, примечаниям и т. п. место на багтрекере.