SlideShare a Scribd company logo
Управление на промените при разработка на софтуер Светлин Наков Национална академия по разработка на софтуер academy.devbg.org ( Software Configuration Management )
Съдържание Системи за управление на промените при разработка на софтуер ( SCM) Пазарът на  SCM  продукти Управление на версиите  –  основни понятия и принципи Модели на версионизация Lock-Modify-Unlock Copy-Modify-Merge Етикети и разклонения
Какво е управление на промените? Управление на промените  ≈   Software Configuration Management Контрол на промените по време на целия процес на разработка на софтуер При бизнес анализа, при изготвянето на архитектурата и планирането, при имплементацията и тестването Позволява промените да се преглеждат преди да бъдат одобрени
Software Configuration Management  ( SCM) Дисциплина от софтуерното инженерство Състои се от техники, практики и инструменти Управлява промените при разработка на софтуерни проекти чрез: Механизми за управление, контрол, одитиране и отчетност на промените Дефинира процеса на промяна Проследява какво се случва в проекта Решава конфликти в промените
Защо ни трябва  SCM? Да управляваме : Много хора работещи по едни и същи сорс код или документи Проекти, предавани в много издания ( builds  &  releases) Проследяването на еволюцията на софтуера и развитието на проекта: Статус, напредък, дефекти, функционалност, ... Управление на конкурентния достъп
Ползи от  SCM  системите (1) Управление на промените Контрол над развитието на продукта и промените Отчитане на напредъка Следене на статуса на отделните компоненти и напредъка на работата по тях Преглеждане и одитиране Възможност за преглеждане на промените Управление на билдовете ( build) Следене на билдовете и информация за тях
Ползи от  SCM  системите (2) Управление на процеса Следване на процеса на разработка Работа в екип Улесняване на съвместната работа и взаимодействията в екипа
SCM  и процесът на разработка на софтуер Сорс код Модели Build скриптове, готов продукт Тестови скриптове и данни Готов продукт Изисквания Имплементация Дизайн Издаване Тестване Анализ Издание SCM
Пазарът на  SCM  продукти
Пазарът на  SCM  продукти Process-centric software configuration management Software configuration management (SCM) Version control Application life-cycle management (ALM)
Системи за управление на версиите ( Version Control) Функционалност Управление на версиите на файлове Просто сливане и намиране на разлики Разклоняване ( branching) Заключване на файлове Конзолни и  GUI  клиенти По-известни продукти CVS Subversion Microsoft Visual SourceSafe Perforce
SCM  системи Функционалност Управление на групи документи Подобрено сливане и разлики Управление на работно пространство Управление на поток на събитията ( workflow) Управление на билдове и издания По-известни продукти Borland StarTeam Standard IBM Rational ClearCase MKS Source Integrity Serena ChangeMan Professional
Процесно- ориентирани  SCM  системи Функционалност Шаблони за процеса, дизайна и имплементацията Управление на изискванията Управление на проблеми ( issue tracking) Управление на задачи, промени по задачи Контрол на достъпа (потребители, групи, ...) Аналитични средства и отчети   за напредъка По-известни продукти Borland StarTeam Standard IBM Rational ClearCase MKS Source Integrity
Application Lifecycle Management (ALM)  системи Функционалност Тясна интеграция на процесите с инструменти за прилагането им Инструменти за дизайн Инструменти за разработка Инструменти за тестване Инструменти за управление на проекта По-известни продукти Microsoft Visual Studio Team System Server Borland StarTeam Enterprise Advantage Telelogic SYNERGY
Управление на версиите Управление на много версии на един и същ файл (документ)
Управление на версиите Използва се постоянно в инженерството При работа с документи При разработка на софтуер Промените се идентифицират с увеличаване на пореден номер “ номер на версия ” , напр. 1.0, 2.0, 2.17 Номерата на версиите исторически са свързани с лицето, което ги е създало
История на промените Системите за контрол на версиите запазват пълна история на промените Пазят се датата и часа на всяка промяна Пази се потребителят, направил промяната Старите версиите могат да се извличат, разглеждат и сравняват Възможно е връщане към стара версия ( revert)
Речник на термините (1) Хранилище ( repository) Сървър, който съхранява файловете (документите) Поддържа история на версиите Версия ( revision, version) Индивидуална версия (състояние) на файл, получена след серия промени Извличане ( check-out ) Извлича работно копие на файловете от хранилището в локална директория Възможно е заключване на файловете
Речник на термините (2) Промяна ( change) Модификация на локален файл (документ), за който се контролират версиите Списък с промени ( change list) Множество от промени в различни файлове, които ще бъдат потвърдени наведнъж Потвърждаване ( commit, check-in) Изпращане на промените от локалното копие на файловете в хранилището Създава автоматично нова версия Възможно е настъпване на конфликти!
Речник на термините (3) Конфликт ( conflict) Едновременна промяна на един и същ файл от няколко потребителя Автоматично и ръчно разрешаване Обновяване ( update ,  get latest version) Извличане на променените файлове от хранилището в локална директория Връщане на промените ( undo check-out) Отказва започнати промени по група файлове Връща състоянието им от хранилището
Речник на термините (4) Сливане ( merge) Сливане на промени върху един и същ файл, направени паралелно от различни потребители Може в голяма степен да се автоматизира Етикет ( label ,  tag) Етикетите отбелязват с име група от файлове в дадена версия Например дадено издание ( release) Разклоняване ( branching) Разделяне на хранилищата в няколко отделни потока на работа
Управление на версиите: типичен сценарий Потребители Хранилище Главна линия на разработка Потребител  A Потребител  B Version B Branch Version A Branch Version A.1 Branch Check Out A Check In C Check In E Check Out B Merge D
Модели на версионизация Lock-Modify-Unlock и Copy-Modify-Merge
Модели на версионизация Заключване-промяна-отключване ( Lock-Modify-Unlock ) : Само един потребител работи по даден файл в даден момент, без конфликти Пример : Visual SourceSafe Копиране-промяна-сливане ( Copy-Modify-Merge ) : Потребителите правят паралелни промени по собствените си работни копия Паралелните промени се сливат и се получава финалната версия Примери : CVS, Subversion
Проблеми със заключването Административни проблеми: Някой заключва даден файл и забравя за него Губи се време в чакане някой да освободи даден файл Ненужно заключване на целия файл Различните промени не винаги са в конфликт Например: Асен работи в началото, а Боби – в края на файла
Проблеми със сливането Ако даден файл се променя едновременно ( modify concurrently),  промените трябва да се сливат Сливането е трудно! Не винаги е възможно автоматично Необходима е отговорност и координация между разработчиците Правете  commit  възможно най-бързо Не правете  commit  на код, който не се компилира или спира работата на другите Поставяйте коментари при  commit
Сравнение на файлове При ръчно сливане ползвайте сравнение на версиите Съществуват визуални графични инструменти за сравнение: Windiff AraxisMerge BeyondCompare CompareIt …
Сравнение на файлове – пример
Моделът "Lock-Modify-Unlock"
Моделът  Lock-Modify-Unlock  (1) Хранилище Асен и Боби извличат ( update ) файл A. Извличането е без заключване – просто взимат локално копие. Update Update Асен Боби A A A
Моделът  Lock-Modify-Unlock  (2) Хранилище Асен Асен заключва  ( lock ) файл A   и започва да го променя. Lock Асен Боби A A
Моделът  Lock-Modify-Unlock  (3) Хранилище Асен Боби се опитва също да заключи файла, но не може. Боби чака докато Асен приключи работа и отключи файла. Wait Асен Боби A A
Моделът  Lock-Modify-Unlock  (4) Хранилище Асен Асен потвърждава промените и отключва файла. Commit Асен Боби Асен Асен
Моделът  Lock-Modify-Unlock  (5) Хранилище Асен Боби вече може да вземе променения файл и да го заключи за редакция. Lock Асен Боби Асен Асен
Моделът  Lock-Modify-Unlock  (6) Хранилище Асен Боби приключва и нанася своите промени ( commit). Commit Асен Боби Асен Боби Асен Боби
Моделът  Lock-Modify-Unlock  (7) Хранилище Асен Боби Асен извлича промените от хранилището. Асен Боби Асен Боби Асен Боби Update
Моделът "Copy-Modify-Merge"
Моделът  Copy-Modify-Merge  (1) Хранилище Боби и Асен извличат за редакция файл A (check-out). Извличането е без заключване. Асен Боби Check-out Check-out A A A
Моделът  Copy-Modify-Merge  (2) И двамата редактират локалните копия на файловете. Хранилище Асен Боби A
Моделът  Copy-Modify-Merge (3) Хранилище Боби Асен Боби Боби изпраща  (commit)  своите промени в хранилището. Commit
Моделът  Copy-Modify-Merge (4) Асен опитва да изпрати ( commit)  своите промени. Получава се конфликт на версиите. Commit Хранилище Боби Боби Асен
Моделът  Copy-Modify-Merge  (5) Асен обновява  (update)  своите промени с тези от хранилището. Промените се сливат в  локалното  му копие. Може да се получи конфликт при  сливане ( merge  conflict). Update (with merge) Хранилище Боби Боби Асен & Боби
Моделът  Copy-Modify-Merge (6) Хранилище Асен нанася промените в хранилището. Вкарва се обща версия с промените на Асен и Боби. Commit Боби Асен & Боби Асен & Боби
Моделът  Copy-Modify-Merge  (7) Боби обновява промените от хранилището. Взима общата версия с промените на Асен и Боби. Update Хранилище Асен & Боби Асен & Боби Асен & Боби
Етикети и разклонения
Етикети ( Tags) Позволяват да се даде име на съвкупност от файлове в определени версии Main.c Main.h 1.1 1.3 1.4 1.2 Prog.c 1.1 1.2 Tag "Beta 2" 1.1 1.3 1.2
Разклонения ( B ranching) Разклоненията позволяват група промени да бъдат отделени в отделна линия на разработка ( development line ) Разклоненията са подходящи за : Поправка на грешки в стара версия на продукта Разработка на допълнения в определена версия на продукта Допълненията са независими, извън основната линия на разработка
Разклонения – пример Main.h 1.1 1.2 1.3 1.4 1.2.2.1 1.2.2.2 1.2.4.1 1.2.4.2 1.2.4.3 1.2.2.2.2.1 1.2.2.2.2.2 Branch 1.2.2.2.2 -> Branch 1.2.2. -> Branch 1.2.4. -> Main Trunk
Управление на промените при разработка на софтуер Въпроси ?

More Related Content

PPT
Nakov High Quality Code
PPT
Svetlin Nakov - Mobile Code Security
PPT
Svetlin Nakov - E-Business And NASD Academy
PPT
NARS - Opening the Academy for Software Developers
PPT
Nakov - Teaching .NET Framework
PPT
Nakov - RDBMS Systems - Intro
PPT
Continuous integration (d.atanasov)
PPT
Bars - About Us - Very Short
Nakov High Quality Code
Svetlin Nakov - Mobile Code Security
Svetlin Nakov - E-Business And NASD Academy
NARS - Opening the Academy for Software Developers
Nakov - Teaching .NET Framework
Nakov - RDBMS Systems - Intro
Continuous integration (d.atanasov)
Bars - About Us - Very Short

What's hot (9)

PPT
Visual Studio Team System 2008 Test Edition(for Software Tester)
PPT
Svetlin Nakov - .NET Framework Overview
PPT
High Quality Code Introduction
PPT
NARS - High Quality Training for Software Engineers
PPT
ASP.Net 2.0 Web Parts
PDF
Тестове за ползваемост - Usability testing
PDF
Тестове на уеб приложения
PDF
Курс - Качество на софтуера - част 1
PPT
Видове софтуерни тестове
Visual Studio Team System 2008 Test Edition(for Software Tester)
Svetlin Nakov - .NET Framework Overview
High Quality Code Introduction
NARS - High Quality Training for Software Engineers
ASP.Net 2.0 Web Parts
Тестове за ползваемост - Usability testing
Тестове на уеб приложения
Курс - Качество на софтуера - част 1
Видове софтуерни тестове
Ad

Viewers also liked (20)

PPTX
ODP
амжилтаас ялалт
PPTX
Presentation Owner
ODS
Erdenetsetseg sudalgaa 102......
PPTX
Social skills
PPTX
2013 11-25 d effective solutions -prostream
PPTX
Жътва е...
RTF
вътрешни правила зоп м.10.2014 радомирци
DOC
звіт бухгалтера ради школи. для конференції 2013 р.
PPTX
Encountering Saint Benedict in Context
PPT
On the Destiny of the Species: What Would Darwin Think 150 Years After 'The ...
PPT
Network Security and Network Attacks
PPT
Arab Springs
PPT
Triangulacion de fuentes
PPTX
Digital
PPS
Museum Of Organs Glb
DOCX
Informatica
PPT
Elementos Internos del Computador
PDF
From Social Media: Ecosystems, Wellbeing & Sensor Networks. A Scoping Exercise
PPTX
Ventajas y desventajas de las redes sociales
амжилтаас ялалт
Presentation Owner
Erdenetsetseg sudalgaa 102......
Social skills
2013 11-25 d effective solutions -prostream
Жътва е...
вътрешни правила зоп м.10.2014 радомирци
звіт бухгалтера ради школи. для конференції 2013 р.
Encountering Saint Benedict in Context
On the Destiny of the Species: What Would Darwin Think 150 Years After 'The ...
Network Security and Network Attacks
Arab Springs
Triangulacion de fuentes
Digital
Museum Of Organs Glb
Informatica
Elementos Internos del Computador
From Social Media: Ecosystems, Wellbeing & Sensor Networks. A Scoping Exercise
Ventajas y desventajas de las redes sociales
Ad

Similar to Svetlin Nakov - Configuration Management (20)

PPT
Средства на VSTS за управление на проекти, версии на системата, извеждане на ...
PPT
JBuilder 4.0 - New Features
PPTX
Какво ново в Joomla?- Joomla! Day 2013 Bulgaria
PPTX
[Dev.bg] CI from scratch with Jenkins
PPTX
Acceptance testing with Selenium 2 and PHPUnit
PDF
3. vb osnovni menuta
PPT
Visual Studio Team System 2008 Development Edition(for Software Development)
ODP
Enterprise Content Management with Nuxeo EP 5.3.0 (in bulgarian)
PPTX
DrupalCamp Sofia 2015
PPTX
Курс по уеб програмиране (2015), занятие №3 - JavaScript (част 1/2)
PPTX
Курс по уеб програмиране (2015), занятие №1 - HTML
PPTX
Курс по уеб програмиране (2014), занятие №3 - JavaScript (част 1/2)
PPT
Module1
ODP
Lotus Domino Admin Blast: LCTY 2011
PPT
asfafa
DOCX
Курс по програмиране за напреднали (2012) - 4. Desktop приложения. Windows Forms
PPS
Презентация Фатих
PDF
Eclipse Overview@TUES
Средства на VSTS за управление на проекти, версии на системата, извеждане на ...
JBuilder 4.0 - New Features
Какво ново в Joomla?- Joomla! Day 2013 Bulgaria
[Dev.bg] CI from scratch with Jenkins
Acceptance testing with Selenium 2 and PHPUnit
3. vb osnovni menuta
Visual Studio Team System 2008 Development Edition(for Software Development)
Enterprise Content Management with Nuxeo EP 5.3.0 (in bulgarian)
DrupalCamp Sofia 2015
Курс по уеб програмиране (2015), занятие №3 - JavaScript (част 1/2)
Курс по уеб програмиране (2015), занятие №1 - HTML
Курс по уеб програмиране (2014), занятие №3 - JavaScript (част 1/2)
Module1
Lotus Domino Admin Blast: LCTY 2011
asfafa
Курс по програмиране за напреднали (2012) - 4. Desktop приложения. Windows Forms
Презентация Фатих
Eclipse Overview@TUES

More from Svetlin Nakov (20)

PPTX
AI and the Future of Devs: Nakov @ Techniverse (Nov 2024)
PPTX
AI за ежедневието - Наков @ Techniverse (Nov 2024)
PPTX
AI инструменти за бизнеса - Наков - Nov 2024
PPTX
AI Adoption in Business - Nakov at Forbes HR Forum - Sept 2024
PPTX
Software Engineers in the AI Era - Sept 2024
PPTX
Най-търсените направления в ИТ сферата за 2024
PPTX
BG-IT-Edu: отворено учебно съдържание за ИТ учители
PPTX
Programming World in 2024
PDF
AI Tools for Business and Startups
PPTX
AI Tools for Scientists - Nakov (Oct 2023)
PPTX
AI Tools for Entrepreneurs
PPTX
Bulgarian Tech Industry - Nakov at Dev.BG All in One Conference 2023
PPTX
AI Tools for Business and Personal Life
PDF
Дипломна работа: учебно съдържание по ООП - Светлин Наков
PPTX
Дипломна работа: учебно съдържание по ООП
PPTX
Свободно ИТ учебно съдържание за учители по програмиране и ИТ
PPTX
AI and the Professions of the Future
PPTX
Programming Languages Trends for 2023
PPTX
IT Professions and How to Become a Developer
PPTX
GitHub Actions (Nakov at RuseConf, Sept 2022)
AI and the Future of Devs: Nakov @ Techniverse (Nov 2024)
AI за ежедневието - Наков @ Techniverse (Nov 2024)
AI инструменти за бизнеса - Наков - Nov 2024
AI Adoption in Business - Nakov at Forbes HR Forum - Sept 2024
Software Engineers in the AI Era - Sept 2024
Най-търсените направления в ИТ сферата за 2024
BG-IT-Edu: отворено учебно съдържание за ИТ учители
Programming World in 2024
AI Tools for Business and Startups
AI Tools for Scientists - Nakov (Oct 2023)
AI Tools for Entrepreneurs
Bulgarian Tech Industry - Nakov at Dev.BG All in One Conference 2023
AI Tools for Business and Personal Life
Дипломна работа: учебно съдържание по ООП - Светлин Наков
Дипломна работа: учебно съдържание по ООП
Свободно ИТ учебно съдържание за учители по програмиране и ИТ
AI and the Professions of the Future
Programming Languages Trends for 2023
IT Professions and How to Become a Developer
GitHub Actions (Nakov at RuseConf, Sept 2022)

Svetlin Nakov - Configuration Management

  • 1. Управление на промените при разработка на софтуер Светлин Наков Национална академия по разработка на софтуер academy.devbg.org ( Software Configuration Management )
  • 2. Съдържание Системи за управление на промените при разработка на софтуер ( SCM) Пазарът на SCM продукти Управление на версиите – основни понятия и принципи Модели на версионизация Lock-Modify-Unlock Copy-Modify-Merge Етикети и разклонения
  • 3. Какво е управление на промените? Управление на промените ≈ Software Configuration Management Контрол на промените по време на целия процес на разработка на софтуер При бизнес анализа, при изготвянето на архитектурата и планирането, при имплементацията и тестването Позволява промените да се преглеждат преди да бъдат одобрени
  • 4. Software Configuration Management ( SCM) Дисциплина от софтуерното инженерство Състои се от техники, практики и инструменти Управлява промените при разработка на софтуерни проекти чрез: Механизми за управление, контрол, одитиране и отчетност на промените Дефинира процеса на промяна Проследява какво се случва в проекта Решава конфликти в промените
  • 5. Защо ни трябва SCM? Да управляваме : Много хора работещи по едни и същи сорс код или документи Проекти, предавани в много издания ( builds & releases) Проследяването на еволюцията на софтуера и развитието на проекта: Статус, напредък, дефекти, функционалност, ... Управление на конкурентния достъп
  • 6. Ползи от SCM системите (1) Управление на промените Контрол над развитието на продукта и промените Отчитане на напредъка Следене на статуса на отделните компоненти и напредъка на работата по тях Преглеждане и одитиране Възможност за преглеждане на промените Управление на билдовете ( build) Следене на билдовете и информация за тях
  • 7. Ползи от SCM системите (2) Управление на процеса Следване на процеса на разработка Работа в екип Улесняване на съвместната работа и взаимодействията в екипа
  • 8. SCM и процесът на разработка на софтуер Сорс код Модели Build скриптове, готов продукт Тестови скриптове и данни Готов продукт Изисквания Имплементация Дизайн Издаване Тестване Анализ Издание SCM
  • 9. Пазарът на SCM продукти
  • 10. Пазарът на SCM продукти Process-centric software configuration management Software configuration management (SCM) Version control Application life-cycle management (ALM)
  • 11. Системи за управление на версиите ( Version Control) Функционалност Управление на версиите на файлове Просто сливане и намиране на разлики Разклоняване ( branching) Заключване на файлове Конзолни и GUI клиенти По-известни продукти CVS Subversion Microsoft Visual SourceSafe Perforce
  • 12. SCM системи Функционалност Управление на групи документи Подобрено сливане и разлики Управление на работно пространство Управление на поток на събитията ( workflow) Управление на билдове и издания По-известни продукти Borland StarTeam Standard IBM Rational ClearCase MKS Source Integrity Serena ChangeMan Professional
  • 13. Процесно- ориентирани SCM системи Функционалност Шаблони за процеса, дизайна и имплементацията Управление на изискванията Управление на проблеми ( issue tracking) Управление на задачи, промени по задачи Контрол на достъпа (потребители, групи, ...) Аналитични средства и отчети за напредъка По-известни продукти Borland StarTeam Standard IBM Rational ClearCase MKS Source Integrity
  • 14. Application Lifecycle Management (ALM) системи Функционалност Тясна интеграция на процесите с инструменти за прилагането им Инструменти за дизайн Инструменти за разработка Инструменти за тестване Инструменти за управление на проекта По-известни продукти Microsoft Visual Studio Team System Server Borland StarTeam Enterprise Advantage Telelogic SYNERGY
  • 15. Управление на версиите Управление на много версии на един и същ файл (документ)
  • 16. Управление на версиите Използва се постоянно в инженерството При работа с документи При разработка на софтуер Промените се идентифицират с увеличаване на пореден номер “ номер на версия ” , напр. 1.0, 2.0, 2.17 Номерата на версиите исторически са свързани с лицето, което ги е създало
  • 17. История на промените Системите за контрол на версиите запазват пълна история на промените Пазят се датата и часа на всяка промяна Пази се потребителят, направил промяната Старите версиите могат да се извличат, разглеждат и сравняват Възможно е връщане към стара версия ( revert)
  • 18. Речник на термините (1) Хранилище ( repository) Сървър, който съхранява файловете (документите) Поддържа история на версиите Версия ( revision, version) Индивидуална версия (състояние) на файл, получена след серия промени Извличане ( check-out ) Извлича работно копие на файловете от хранилището в локална директория Възможно е заключване на файловете
  • 19. Речник на термините (2) Промяна ( change) Модификация на локален файл (документ), за който се контролират версиите Списък с промени ( change list) Множество от промени в различни файлове, които ще бъдат потвърдени наведнъж Потвърждаване ( commit, check-in) Изпращане на промените от локалното копие на файловете в хранилището Създава автоматично нова версия Възможно е настъпване на конфликти!
  • 20. Речник на термините (3) Конфликт ( conflict) Едновременна промяна на един и същ файл от няколко потребителя Автоматично и ръчно разрешаване Обновяване ( update , get latest version) Извличане на променените файлове от хранилището в локална директория Връщане на промените ( undo check-out) Отказва започнати промени по група файлове Връща състоянието им от хранилището
  • 21. Речник на термините (4) Сливане ( merge) Сливане на промени върху един и същ файл, направени паралелно от различни потребители Може в голяма степен да се автоматизира Етикет ( label , tag) Етикетите отбелязват с име група от файлове в дадена версия Например дадено издание ( release) Разклоняване ( branching) Разделяне на хранилищата в няколко отделни потока на работа
  • 22. Управление на версиите: типичен сценарий Потребители Хранилище Главна линия на разработка Потребител A Потребител B Version B Branch Version A Branch Version A.1 Branch Check Out A Check In C Check In E Check Out B Merge D
  • 23. Модели на версионизация Lock-Modify-Unlock и Copy-Modify-Merge
  • 24. Модели на версионизация Заключване-промяна-отключване ( Lock-Modify-Unlock ) : Само един потребител работи по даден файл в даден момент, без конфликти Пример : Visual SourceSafe Копиране-промяна-сливане ( Copy-Modify-Merge ) : Потребителите правят паралелни промени по собствените си работни копия Паралелните промени се сливат и се получава финалната версия Примери : CVS, Subversion
  • 25. Проблеми със заключването Административни проблеми: Някой заключва даден файл и забравя за него Губи се време в чакане някой да освободи даден файл Ненужно заключване на целия файл Различните промени не винаги са в конфликт Например: Асен работи в началото, а Боби – в края на файла
  • 26. Проблеми със сливането Ако даден файл се променя едновременно ( modify concurrently), промените трябва да се сливат Сливането е трудно! Не винаги е възможно автоматично Необходима е отговорност и координация между разработчиците Правете commit възможно най-бързо Не правете commit на код, който не се компилира или спира работата на другите Поставяйте коментари при commit
  • 27. Сравнение на файлове При ръчно сливане ползвайте сравнение на версиите Съществуват визуални графични инструменти за сравнение: Windiff AraxisMerge BeyondCompare CompareIt …
  • 30. Моделът Lock-Modify-Unlock (1) Хранилище Асен и Боби извличат ( update ) файл A. Извличането е без заключване – просто взимат локално копие. Update Update Асен Боби A A A
  • 31. Моделът Lock-Modify-Unlock (2) Хранилище Асен Асен заключва ( lock ) файл A и започва да го променя. Lock Асен Боби A A
  • 32. Моделът Lock-Modify-Unlock (3) Хранилище Асен Боби се опитва също да заключи файла, но не може. Боби чака докато Асен приключи работа и отключи файла. Wait Асен Боби A A
  • 33. Моделът Lock-Modify-Unlock (4) Хранилище Асен Асен потвърждава промените и отключва файла. Commit Асен Боби Асен Асен
  • 34. Моделът Lock-Modify-Unlock (5) Хранилище Асен Боби вече може да вземе променения файл и да го заключи за редакция. Lock Асен Боби Асен Асен
  • 35. Моделът Lock-Modify-Unlock (6) Хранилище Асен Боби приключва и нанася своите промени ( commit). Commit Асен Боби Асен Боби Асен Боби
  • 36. Моделът Lock-Modify-Unlock (7) Хранилище Асен Боби Асен извлича промените от хранилището. Асен Боби Асен Боби Асен Боби Update
  • 38. Моделът Copy-Modify-Merge (1) Хранилище Боби и Асен извличат за редакция файл A (check-out). Извличането е без заключване. Асен Боби Check-out Check-out A A A
  • 39. Моделът Copy-Modify-Merge (2) И двамата редактират локалните копия на файловете. Хранилище Асен Боби A
  • 40. Моделът Copy-Modify-Merge (3) Хранилище Боби Асен Боби Боби изпраща (commit) своите промени в хранилището. Commit
  • 41. Моделът Copy-Modify-Merge (4) Асен опитва да изпрати ( commit) своите промени. Получава се конфликт на версиите. Commit Хранилище Боби Боби Асен
  • 42. Моделът Copy-Modify-Merge (5) Асен обновява (update) своите промени с тези от хранилището. Промените се сливат в локалното му копие. Може да се получи конфликт при сливане ( merge conflict). Update (with merge) Хранилище Боби Боби Асен & Боби
  • 43. Моделът Copy-Modify-Merge (6) Хранилище Асен нанася промените в хранилището. Вкарва се обща версия с промените на Асен и Боби. Commit Боби Асен & Боби Асен & Боби
  • 44. Моделът Copy-Modify-Merge (7) Боби обновява промените от хранилището. Взима общата версия с промените на Асен и Боби. Update Хранилище Асен & Боби Асен & Боби Асен & Боби
  • 46. Етикети ( Tags) Позволяват да се даде име на съвкупност от файлове в определени версии Main.c Main.h 1.1 1.3 1.4 1.2 Prog.c 1.1 1.2 Tag "Beta 2" 1.1 1.3 1.2
  • 47. Разклонения ( B ranching) Разклоненията позволяват група промени да бъдат отделени в отделна линия на разработка ( development line ) Разклоненията са подходящи за : Поправка на грешки в стара версия на продукта Разработка на допълнения в определена версия на продукта Допълненията са независими, извън основната линия на разработка
  • 48. Разклонения – пример Main.h 1.1 1.2 1.3 1.4 1.2.2.1 1.2.2.2 1.2.4.1 1.2.4.2 1.2.4.3 1.2.2.2.2.1 1.2.2.2.2.2 Branch 1.2.2.2.2 -> Branch 1.2.2. -> Branch 1.2.4. -> Main Trunk
  • 49. Управление на промените при разработка на софтуер Въпроси ?