-
Notifications
You must be signed in to change notification settings - Fork 5
Expand file tree
/
Copy pathrefs_wrapper.cpp
More file actions
40 lines (32 loc) · 874 Bytes
/
refs_wrapper.cpp
File metadata and controls
40 lines (32 loc) · 874 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
#include "../wrapper/refs_wrapper.hpp"
#include <git2/refs.h>
#include <git2/types.h>
#include "../utils/git_exception.hpp"
#include "object_wrapper.hpp"
reference_wrapper::reference_wrapper(git_reference* ref)
: base_type(ref)
{
}
reference_wrapper::~reference_wrapper()
{
git_reference_free(p_resource);
p_resource = nullptr;
}
std::string reference_wrapper::short_name() const
{
return git_reference_shorthand(p_resource);
}
bool reference_wrapper::is_remote() const
{
return git_reference_is_remote(*this);
}
const git_oid* reference_wrapper::target() const
{
return git_reference_target(p_resource);
}
reference_wrapper reference_wrapper::write_new_ref(const git_oid target_oid)
{
git_reference* new_ref;
throw_if_error(git_reference_set_target(&new_ref, p_resource, &target_oid, NULL));
return reference_wrapper(new_ref);
}