git2wrap

C++20 wrapper for libgit2
git clone git://git.dimitrijedobrota.com/git2wrap.git
Log | Files | Refs | README | LICENSE | HACKING | CONTRIBUTING | CODE_OF_CONDUCT | BUILDING |

object.cpp (933B)


1 #include "git2wrap/object.hpp" 2 3 #include "git2wrap/error.hpp" 4 5 namespace git2wrap 6 { 7 8 object::object(git_object* obj, repositoryPtr repo) 9 : m_obj(obj, git_object_free) 10 , m_repo(std::move(repo)) 11 { 12 } 13 14 object object::dup() const 15 { 16 git_object* obj = nullptr; 17 git_object_dup(&obj, m_obj.get()); 18 return {obj, m_repo}; 19 } 20 21 oid object::get_id() const 22 { 23 return oid(git_object_id(m_obj.get())); 24 } 25 26 buf object::get_id_short() const 27 { 28 buf bufr; 29 30 if (git_object_short_id(bufr.get(), m_obj.get()) != 0) { 31 throw error<error_code_t::ERROR>(); 32 } 33 34 return bufr; 35 } 36 37 object::object_t object::get_type() const 38 { 39 return git_object_type(m_obj.get()); 40 } 41 42 repositoryPtr object::get_owner() const 43 { 44 return m_repo; 45 } 46 47 const char* object::type2string(object_t type) 48 { 49 return git_object_type2string(type); 50 } 51 52 object::object_t object::string2type(const char* str) 53 { 54 return git_object_string2type(str); 55 } 56 57 } // namespace git2wrap