реализация некоторых принципов системы контроля версий git
Объект - это файл специального формата. У каждого Объекта имя записывается как 16-ричное представление этого хеша. длина хэша равна 20 байт. Первые два символа имеет объект и создает подиректорию с этим именем.
Blob - содержить длину файла и содержимое файла
Дерево - могут хранить внутри себя как ссылки на blob и также ссылки на другие объекты-деревья. Запись состоит из одной строки вида:
<права файла> <тип объекта(tree or blob)> <sha1 объекта> <имя файла>
Коммит - одному коммит соответствует только одно дерево, хранить также ссылку на родительский коммит (кроме первого коммита), на автора, сообщение коммита.
- start-test-blobobj.sh - запуск тестов для проверки Blob Oblects
- start-test-treeobj.sh - запуск тестов для проверки Tree Oblects
- start-test-commitobj.sh - запуск тестов для проверки Commit Oblects