Представляет единую, неизменяемую историческую точку (снимок) в истории репозитория.
Подробнее...
#include <Commit.hxx>
|
|
| Commit () |
| | Конструктор по умолчанию.
|
| | Commit (std::string thash, std::vector< std::string > phashes, std::string auth, std::string msg, std::time_t tstamp=std::time(nullptr)) |
| | Основной конструктор для объекта Commit.
|
| std::string | getType () const override |
| | Возвращает тип объекта СКВ.
|
| std::string | serialize () const override |
| | Сериализует метаданные Commit в стандартизированный канонический формат для хеширования и хранения.
|
| const std::string & | getTreeHash () const |
| | Возвращает хеш ID связанного корневого объекта Tree.
|
| const std::vector< std::string > & | getParentHashes () const |
| | Возвращает хеш ID родительских коммитов.
|
| const std::string & | getAuthor () const |
| | Возвращает строку автора и email для коммита.
|
| std::time_t | getTimestamp () const |
| | Возвращает UNIX временную метку создания коммита.
|
| const std::string & | getMessage () const |
| | Возвращает пользовательское сообщение коммита.
|
| void | setMessage (const std::string &msg) |
| | Устанавливает сообщение коммита.
|
| void | setTimestamp (std::time_t tstamp) |
| | Устанавливает временную метку коммита.
|
|
void | setTimestampNow () |
| | Устанавливает временную метку коммита на текущее время.
|
| void | setParent (const std::string &parent) |
| | Устанавливает хеш родительского коммита.
|
|
| VcsObject ()=default |
| | Конструктор по умолчанию. Требуется для производных классов.
|
| | VcsObject (const VcsObject &other)=default |
| | Конструктор копирования. Требуется для производных классов для корректного копирования hash_id.
|
| virtual | ~VcsObject ()=default |
| | Виртуальный деструктор.
|
| std::string | getHashId () const |
| | Возвращает уникальный хеш-идентификатор объекта.
|
|
| static Commit | deserialize (const std::string &raw_content) |
| | Создает объект Commit из сериализованной строки, прочитанной из базы данных объектов.
|
| static std::string | calculateHash (const std::string &content) |
| | Вычисляет SHA-256 хеш для заданного канонического содержимого.
|
|
| void | computeHash (const std::string &content) |
| | Вычисляет криптографический хеш-идентификатор для содержимого объекта.
|
| std::string | hash_id |
| | Уникальный криптографический хеш-идентификатор (например, SHA-256) для этого объекта.
|
Представляет единую, неизменяемую историческую точку (снимок) в истории репозитория.
Этот объект связывает структуру содержимого (хеш Tree) с метаданными (автор, сообщение, история родителей).
◆ Commit()
| svcs::core::Commit::Commit |
( |
std::string | thash, |
|
|
std::vector< std::string > | phashes, |
|
|
std::string | auth, |
|
|
std::string | msg, |
|
|
std::time_t | tstamp = std::time(nullptr) ) |
Основной конструктор для объекта Commit.
Инициализирует поля метаданных, сортирует хеши родителей для согласованности и немедленно вычисляет хеш ID объекта.
- Аргументы
-
| thash | Хеш корневого объекта Tree. |
| phashes | Хеши непосредственных родительских коммитов. |
| auth | Строка автора и email. |
| msg | Пользовательское сообщение коммита. |
| tstamp | Время создания коммита (по умолчанию текущее время). |
◆ deserialize()
| Commit svcs::core::Commit::deserialize |
( |
const std::string & | raw_content | ) |
|
|
static |
Создает объект Commit из сериализованной строки, прочитанной из базы данных объектов.
- Аргументы
-
| raw_content | Сериализованные строковые данные, обычно прочитанные из распакованного файла объекта. |
- Возвращает
- Commit Полностью восстановленный объект Commit.
◆ getAuthor()
| const std::string & svcs::core::Commit::getAuthor |
( |
| ) |
const |
|
nodiscard |
Возвращает строку автора и email для коммита.
- Возвращает
- const std::string& Строка автора.
◆ getMessage()
| const std::string & svcs::core::Commit::getMessage |
( |
| ) |
const |
|
nodiscard |
Возвращает пользовательское сообщение коммита.
- Возвращает
- const std::string& Сообщение коммита.
◆ getParentHashes()
| const std::vector< std::string > & svcs::core::Commit::getParentHashes |
( |
| ) |
const |
|
nodiscard |
Возвращает хеш ID родительских коммитов.
- Возвращает
- const std::vector<std::string>& Список хешей родителей (отсортированный).
◆ getTimestamp()
| std::time_t svcs::core::Commit::getTimestamp |
( |
| ) |
const |
|
nodiscard |
Возвращает UNIX временную метку создания коммита.
- Возвращает
- std::time_t Значение временной метки.
◆ getTreeHash()
| const std::string & svcs::core::Commit::getTreeHash |
( |
| ) |
const |
|
nodiscard |
Возвращает хеш ID связанного корневого объекта Tree.
- Возвращает
- const std::string& Хеш дерева.
◆ getType()
| std::string svcs::core::Commit::getType |
( |
| ) |
const |
|
nodiscardoverridevirtual |
Возвращает тип объекта СКВ.
- Возвращает
- std::string Всегда возвращает "commit".
Замещает svcs::core::VcsObject.
◆ serialize()
| std::string svcs::core::Commit::serialize |
( |
| ) |
const |
|
nodiscardoverridevirtual |
Сериализует метаданные Commit в стандартизированный канонический формат для хеширования и хранения.
Сериализованный формат включает пары ключ/значение (tree, parent, author), за которыми следует сообщение.
- Возвращает
- std::string Стандартизированные сериализованные данные коммита.
Замещает svcs::core::VcsObject.
◆ setMessage()
| void svcs::core::Commit::setMessage |
( |
const std::string & | msg | ) |
|
Устанавливает сообщение коммита.
- Аргументы
-
| msg | Новое сообщение коммита. |
◆ setParent()
| void svcs::core::Commit::setParent |
( |
const std::string & | parent | ) |
|
Устанавливает хеш родительского коммита.
- Аргументы
-
| parent | Хеш родительского коммита. |
◆ setTimestamp()
| void svcs::core::Commit::setTimestamp |
( |
std::time_t | tstamp | ) |
|
Устанавливает временную метку коммита.
- Аргументы
-
| tstamp | Новое значение временной метки. |
Объявления и описания членов классов находятся в файлах: