60 std::string tree_hash;
69 std::vector<std::string> parent_hashes;
87 std::time_t timestamp;
106 Commit() : tree_hash(
""), parent_hashes({}), author(
""), timestamp(time_t()), message(
"") {};
129 std::vector<std::string> phashes,
132 std::time_t tstamp = std::time(
nullptr)
147 [[nodiscard]] std::string
getType()
const override;
161 [[nodiscard]] std::string
serialize()
const override;
187 [[nodiscard]]
const std::string&
getTreeHash()
const;
209 [[nodiscard]]
const std::string&
getAuthor()
const;
231 [[nodiscard]]
const std::string&
getMessage()
const;
273 void setParent(
const std::string& parent);
Определение абстрактного базового класса для всех объектов системы контроля версий.
std::time_t getTimestamp() const
Возвращает UNIX временную метку создания коммита.
Определения Commit.cxx:172
std::string getType() const override
Возвращает тип объекта СКВ.
Определения Commit.cxx:42
std::string serialize() const override
Сериализует метаданные Commit в стандартизированный канонический формат для хеширования и хранения.
Определения Commit.cxx:46
const std::string & getMessage() const
Возвращает пользовательское сообщение коммита.
Определения Commit.cxx:176
const std::string & getTreeHash() const
Возвращает хеш ID связанного корневого объекта Tree.
Определения Commit.cxx:160
void setTimestamp(std::time_t tstamp)
Устанавливает временную метку коммита.
Определения Commit.cxx:187
void setMessage(const std::string &msg)
Устанавливает сообщение коммита.
Определения Commit.cxx:180
const std::vector< std::string > & getParentHashes() const
Возвращает хеш ID родительских коммитов.
Определения Commit.cxx:164
static Commit deserialize(const std::string &raw_content)
Создает объект Commit из сериализованной строки, прочитанной из базы данных объектов.
Определения Commit.cxx:63
void setTimestampNow()
Устанавливает временную метку коммита на текущее время.
Определения Commit.cxx:191
void setParent(const std::string &parent)
Устанавливает хеш родительского коммита.
Определения Commit.cxx:195
Commit()
Конструктор по умолчанию.
Определения Commit.hxx:63
const std::string & getAuthor() const
Возвращает строку автора и email для коммита.
Определения Commit.cxx:168
VcsObject()=default
Конструктор по умолчанию. Требуется для производных классов.
Основные структуры данных СКВ и модель объектов.