• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
Работа с системой управления версиями при Agile разработке
 

Работа с системой управления версиями при Agile разработке

on

  • 976 views

Работа с системой управления версиями при Agile разработке

Работа с системой управления версиями при Agile разработке

Statistics

Views

Total Views
976
Views on SlideShare
976
Embed Views
0

Actions

Likes
0
Downloads
10
Comments
0

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    Работа с системой управления версиями при Agile разработке Работа с системой управления версиями при Agile разработке Presentation Transcript

    • Работа с системой управления версиями при Agile разработке Малышкин Фёдор ( [email_address] ) 2 5 апреля 2008
    • Использование SCM
      • История использования SCM (Software Configuration Management) , в нашей фирме, имеет очень глубокие корни, но очень простые принципы: сохраняйся и обновляйся чаще.
      • В большинстве случаев оно используется как:
        • Хранилище исходных текстов и ресурсов программ
        • Средство обмена исходными текстами (синхронизации работы)
    • Проблемы
      • «Нерабочие» версии проекта в репозитарии («Я тут поломал, поэтому показать не могу…»)
      • Конфликты при «коммите»
    • Цели презентации
      • Отказоустойчивость
        • Конфликты в коде могут быть обнаружены как можно раньше
        • Исправление маленьких проблем (возможно чаще), чем больших (возможно реже)
      • Всегда рабочее состояние
        • Даже после большой неудачной работы в репозитарии есть рабочая копия чего-то
      • Простота
        • Все члены команды используют одну и ту же схему изо дня в день, как следствие все процедуры ясны и понятны
    • Диаграмма
    • Проблемы применения схемы
      • Несколько задач реализуются в ветке параллельно .
      • Другая команда также производит публикацию в trunk.
      • Ожидание пока параллельная задача будет закончена или пока другая группа применит Ваши изменения, не может рассматриваться как решение. Это будет подобно снежному кому – поэтому необходимо выработать некоторые правила.
    • Несколько задач реализуются в ветке параллельно . Варианты.
      • Не делать задач параллельно в рамках одно группы. Пытаться фокусироваться на одной задаче.
      • Если кто-то собирается начать параллельную работу – подождать пока предыдущая задача будет опубликована. Либо создать новую ветку для неё (если нравится жонглировать ветками).
      • Если кто-то начинает параллельную работу и она требует изменения существующего кода – начинайте с создания нового кода (новые классы, новые методы, новые тесты), но без модификаций существующего кода. Как только первая работа будет опубликована – можно начинать изменять код.
    • Правила
      • Кто бы не трогал trunk – он ответственен за работоспособность основной ветви. Включая весь предыдущий функционал!
      • Синхронизируйте вашу ветвь с основной периодически ( = как можно чаще)
    • Другая команда также производит публикацию в trunk. Правила.
      • Синхронизируйте вашу ветвь с основной ежедневно (как минимум).
      • Сразу разрешайте проблемы на вашей рабочей ветви.
      • Объединяйте Вашу рабочую ветвь с основной на периодической основе. Например по окончании задачи (разумеется нерабочий или «ломающий» код выкладывать нельзя). Не ждите окончания спринта.
      • Тот кто первый объединил – выиграл. В случае возникновения конфликтов при слиянии – он их исправлять уже не будет. Будет тот, кто производил слияние последним.
    • Диаграмма
    • Дополнительные возможности
      • Ветви версий с различным функционалом
      • Неизменяемы версии ( tags ветка)
    • Ресурсы
      • «Управление версиями в Subversion» - отличная книга по svn ( есть в электронном виде, на русском )