Системы контроля версий в современных текстовых редакторах работают, создавая и отслеживая пошаговые изменения в документе. 3 Когда пользователь вносит обновление, система сохраняет его как новую версию, не удаляя предыдущие. 3
Алгоритм работы систем контроля версий: 1
- Извлечение. 1 На компьютер пользователя загружается дерево версий, он выбирает необходимую и создаёт для неё рабочую копию, в которую вносит изменения. 1
- Обновление рабочей копии. 1 По мере работы с файлом создаются новые версии, прошедшие эволюционный путь развития от скопированной до текущего состояния. 1
- Фиксация изменений. 1 Она может производиться или по мере закрытия сессии, или по завершении работы над проектом. 1 В большинстве программ каждую фиксацию определяет пользователь, который счёл необходимым сохранить версию после внесения определённых правок. 1
- Ветвление. 1 Если после какого-то изменения документ правится в двух направлениях или двумя пользователями, создаётся дерево вариантов. 1 По результатам версии различных ветвей могут быть слиты в одну. 1
- Слияние. 1 Если над проектом работает два или более пользователя, возможен конфликт изменений. 1 Он возникает тогда, когда изменения противоречат друг другу и не может быть создан объединённый проект. 1
Некоторые системы контроля версий позволяют автоматически объединять изменения, сделанные разными разработчиками. 5 Однако такое автоматическое объединение изменений, обычно, возможно только для текстовых файлов и при условии, что изменялись разные (непересекающиеся) части этого файла. 5