MODULE = Git::Raw PACKAGE = Git::Raw::Repository
Repository
init(class, path, is_bare)
SV *class
SV *path
unsigned is_bare
CODE:
STRLEN len;
Repository r;
const char *path_str = SvPVbyte(path, len);
int rc = git_repository_init(&r, path_str, is_bare);
git_check_error(rc);
RETVAL = r;
OUTPUT: RETVAL
Repository
open(class, path)
SV *class
SV *path
CODE:
STRLEN len;
Repository r;
const char *path_str = SvPVbyte(path, len);
int rc = git_repository_open(&r, path_str);
git_check_error(rc);
RETVAL = r;
OUTPUT: RETVAL
Config
config(self)
Repository self
CODE:
Config cfg;
int rc = git_repository_config(&cfg, self);
git_check_error(rc);
RETVAL = cfg;
OUTPUT: RETVAL
Index
index(self)
Repository self
CODE:
Index out;
int rc = git_repository_index(&out, self);
git_check_error(rc);
RETVAL = out;
OUTPUT: RETVAL
Commit
lookup_commit(self, commit)
Repository self
SV *commit
CODE:
Commit c;
STRLEN len;
git_oid oid;
int rc = git_oid_fromstrn(&oid, SvPVbyte(commit, len), len);
git_check_error(rc);
rc = git_commit_lookup_prefix(&c, self, &oid, len);
git_check_error(rc);
RETVAL = c;
OUTPUT: RETVAL
Tree
lookup_tree(self, tree)
Repository self
SV *tree
CODE:
Tree t;
STRLEN len;
git_oid oid;
int rc = git_oid_fromstrn(&oid, SvPVbyte(tree, len), len);
git_check_error(rc);
rc = git_tree_lookup_prefix(&t, self, &oid, len);
git_check_error(rc);
RETVAL = t;
OUTPUT: RETVAL
Commit
commit(self, msg, author, cmtter, parents, tree)
Repository self
SV *msg
Signature author
Signature cmtter
AV *parents
Tree tree
CODE:
Commit c;
STRLEN len;
git_oid oid;
int rc = git_commit_create(
&oid, self, "HEAD",
author, cmtter, NULL,
SvPVbyte(msg, len), tree,
0, NULL
);
git_check_error(rc);
rc = git_commit_lookup(&c, self, &oid);
git_check_error(rc);
RETVAL = c;
OUTPUT: RETVAL
SV *
path(self)
Repository self
CODE:
const char *path = git_repository_path(self);
RETVAL = newSVpv(path, 0);
OUTPUT: RETVAL
SV *
workdir(self)
Repository self
CODE:
const char *path = git_repository_workdir(self);
RETVAL = newSVpv(path, 0);
OUTPUT: RETVAL
bool
is_bare(self)
Repository self
CODE:
RETVAL = git_repository_is_bare(self);
OUTPUT: RETVAL
bool
is_empty(self)
Repository self
CODE:
RETVAL = git_repository_is_empty(self);
OUTPUT: RETVAL
void
DESTROY(self)
Repository self
CODE:
git_repository_free(self);