/supperpupergit

реализация системы контроля версий а-ля git (implementation of a version control system a-la git)

Primary LanguagePythonMIT LicenseMIT

supperpupergit

реализация некоторых принципов системы контроля версий git

Полезные ссылки

Объекты (Objects)

Объект - это файл специального формата. У каждого Объекта имя записывается как 16-ричное представление этого хеша. длина хэша равна 20 байт. Первые два символа имеет объект и создает подиректорию с этим именем.

Blob

Blob - содержить длину файла и содержимое файла

Дерево (Tree)

Дерево - могут хранить внутри себя как ссылки на blob и также ссылки на другие объекты-деревья. Запись состоит из одной строки вида:

<права файла> <тип объекта(tree or blob)> <sha1 объекта> <имя файла>

Коммит (Commit)

Коммит - одному коммит соответствует только одно дерево, хранить также ссылку на родительский коммит (кроме первого коммита), на автора, сообщение коммита.

Запуск тестов для модулей

  • start-test-blobobj.sh - запуск тестов для проверки Blob Oblects
  • start-test-treeobj.sh - запуск тестов для проверки Tree Oblects
  • start-test-commitobj.sh - запуск тестов для проверки Commit Oblects