1 module deimos.git2.branch;
2 
3 import deimos.git2.buffer;
4 import deimos.git2.common;
5 import deimos.git2.oid;
6 import deimos.git2.types;
7 
8 extern (C):
9 
10 int git_branch_create(
11 	git_reference **out_,
12 	git_repository *repo,
13 	const(char)* branch_name,
14 	const(git_commit)* target,
15 	int force);
16 
17 int git_branch_create_from_annotated(
18     git_reference **ref_out,
19     git_repository* repository,
20     const(char)* branch_name,
21     const(git_annotated_commit)* commit,
22     int force);
23 
24 int git_branch_delete(git_reference *branch);
25 
26 struct git_branch_iterator {
27 	@disable this();
28 	@disable this(this);
29 }
30 
31 int git_branch_iterator_new(git_branch_iterator **out_, git_repository *repo, git_branch_t list_flags);
32 int git_branch_next(git_reference **out_, git_branch_t *out_type, git_branch_iterator *iter);
33 void git_branch_iterator_free(git_branch_iterator *iter);
34 int git_branch_move(
35 	git_reference **out_,
36 	git_reference *branch,
37 	const(char)* new_branch_name,
38 	int force);
39 int git_branch_lookup(
40 	git_reference **out_,
41 	git_repository *repo,
42 	const(char)* branch_name,
43 	git_branch_t branch_type);
44 int git_branch_name(
45     const(char)** out_,
46     const(git_reference)* ref_);
47 int git_branch_upstream(
48 	git_reference **out_,
49 	const(git_reference)* branch);
50 int git_branch_set_upstream(git_reference *branch, const(char)* upstream_name);
51 int git_branch_upstream_name(
52 	git_buf* out_,
53 	git_repository *repo,
54 	const(char)* refname);
55 int git_branch_is_head(
56 	const(git_reference)* branch);
57 int git_branch_remote_name(
58 	git_buf* out_,
59 	git_repository *repo,
60 	const(char)* canonical_branch_name);
61 int git_branch_upstream_remote(git_buf* buf, git_repository* repo, const(char)* refname);