Skip to content

Gmihtt/VersionControl

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

18 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Программа с помощью меню реализует следующие команды:

  • open - открываем файл в версии . Если версия не задана - открываем корневую версию (ее номер по умолчанию равен 0)

  • print - отображает на экран текущую версию файла, с которым работаем.

    Ф-ии редактирования:

  • edit - замена в текущей версии файла данных с индексом i (включительно) по индекс j (не включительно) на символы data

  • add - добавление к текущей версии файла данных, начиная с позиции с индексом i

  • remove - удаляем данные, как в лабе 3

    Ф-ии работы с версиями:

  • push - сохраняем текущую версию в виде разностного образа с предыдущей версией (не с корневой!). Функция возвращает номер версии, по которому можно впоследствии откатиться к этой версии.

  • pull <№ версии> - делает текущей версию с переданным номером (т.е. перемещается по дереву версий, получая текущую версию из разностной информации на пути). Дальнейшее редактирование запоминается как изменения(разность) относительно этой (текущей) версией.

  • delete_version <<№ версии> - удаляет версию из дерева. При этом корректируются наследники этой версии в дереве - разность теперь высчитывается относительно нового корня(предка удаленной вершины)

  • rebase - перебалансирует дерево, помещая текущую версию в корень дерева путем перерассчета разностей версий относительно нового корня. Все номера версий остаются прежними, кроме 2х версий - текущей и бывшей корневой. Их номера меняются местами (т.е. текущая версия становится корнем дерева с номером 0, прежний корень забирает себе бывший номер этой версии)

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages