wiki:InstantWorkflow

InstantWorkflow

Эта страница предназначена для новых разработчиков

Окружение для работы

  1. Для работы с репозитарием необходимо иметь установленный SVN-клиент:
  • для Ubuntu/Debian:
sudo apt-get install subversion
  1. Нужно иметь представление о первой svn-стратегии, описанной  здесь.
  1. Каждый разработчик имеет собственный бранч, который создается в репозитарии при вступлении человека в нашу команду. Делать коммиты можно только строго в свой бранч. После выхода каждого релиза бранчи обновляются. Адрес своего бранча можно узнать у r2 (icq 252015105)
  1. Настройте на своей машине локальный сайт, в котором вы будете вести работу, например  http://icms/
  1. На созданном локальном сайте установите текущую версию системы, которая на данный момент доступна для скачивания
  1. Сделайте импорт содержимого своего локального сайта в свой бранч SVN:
  • для Windows: щелкнуть правой кнопкой по папке локального сайта (например C:\WebServers?\home\icms\www) и выбрать пункт TortoiseSVN -> Import, указать адрес своего бранча и дождаться пока файлы зальются в SVN. Потом опять правой кнопкой по папке и в том же меню выбрать TortoiseSVN -> Checkout.
  • для Ubuntu/Debian:
$ svn import -m "New import" путь_к_локальному_сайту адрес_вашего_бранча
$ cd путь_к_локальному_сайту
$ svn checkout . адрес_вашего_бранча

Начало работы

Каждый разработчик может брать любые активные задачи. При выборе задачи рекомендуется придерживаться правил:

  • Задача не должна иметь отметки о исполнителе (т.е. ей сейчас никто не занимается)
  • В первую очередь выполнять задачи типа "баг" и назначенные на ближайшую версию
  • Если открытых багов в ближайшей версии нет - брать задачи типа "улучшение" для ближайшей версии
  • Если в ближайшей версии нет интересных вам задач (или вы не можете выбрать) - брать задачи из дальних версий.

После того как вы выбрали задачу (или несколько задач) необходимо сообщить любому и координаторов ее номер:

  • r2 (icq 252015-десять-5)
  • maxisoft (icq 16059-двадцать семь-25)

Координатор отмечает вас в качестве исполнителя у выбранных задач, после этого можно заниматься их решением.

Любые вопросы связанные с выбором задачи можно задать координаторам.

Как вносить изменения

  • Все изменения можно коммитить только в свой бранч;
  • В файле version_log.txt (в корне сайта) необходимо добавить сообщения о завершенных задачах и их номера (по аналогии)
  • Если для решения задачи потребовалось изменить структуру базы данных, в файле /migrate/index.php должен быть код, выполняющий эти изменения (создание таблиц, добавление полей и т.п.). Опять же по аналогии с текущим содержимым этого файла. Каждый запрос в /migrate/index.php должен выполняться только при необходимости. Т.е., например, перед созданием таблицы нужно проверять что она уже не существует и т.д.

Без этого пользователи получат ошибки из-за несовпадения базы после обновления.

  • Когда version_log.txt и скрипт миграции поправлены - делаем коммит. В комментарии к коммиту обязательно указываем (хотя бы кратко) что изменилось. Если нужно автоматически закрыть задачу, можно добавить в комментарий коммита такой текст:
  close #123

где 123 - номер закрываемой задачи.