Skip to content

Commit

Permalink
fixex api changes of libgit2 in 64c5112
Browse files Browse the repository at this point in the history
  • Loading branch information
Nico von Geyso authored and Nico von Geyso committed Nov 28, 2012
1 parent 0406841 commit a511f29
Show file tree
Hide file tree
Showing 9 changed files with 40 additions and 35 deletions.
2 changes: 1 addition & 1 deletion include/pygit2/types.h
Expand Up @@ -97,7 +97,7 @@ typedef struct {

typedef struct {
PyObject_HEAD
git_index_entry *entry;
const git_index_entry *entry;
} IndexEntry;

typedef struct {
Expand Down
2 changes: 1 addition & 1 deletion src/pygit2/commit.c
Expand Up @@ -135,7 +135,7 @@ Commit_get_parents(Commit *commit)
return NULL;

for (i=0; i < parent_count; i++) {
parent_oid = git_commit_parent_oid(commit->commit, i);
parent_oid = git_commit_parent_id(commit->commit, i);
if (parent_oid == NULL) {
Py_DECREF(list);
Error_set(GIT_ENOTFOUND);
Expand Down
2 changes: 1 addition & 1 deletion src/pygit2/config.c
Expand Up @@ -204,7 +204,7 @@ Config_setitem(Config *self, PyObject *py_key, PyObject *py_value)
return -1;

if (!py_value) {
err = git_config_delete(self->config, c_key);
err = git_config_delete_entry(self->config, c_key);
} else if (PyBool_Check(py_value)) {
err = git_config_set_bool(self->config, c_key,
(int)PyObject_IsTrue(py_value));
Expand Down
24 changes: 12 additions & 12 deletions src/pygit2/diff.c
Expand Up @@ -41,12 +41,12 @@ extern PyTypeObject DiffType;
extern PyTypeObject HunkType;

static int diff_data_cb(
void *cb_data,
const git_diff_delta *delta,
const git_diff_range *range,
char line_origin,
const char *content,
size_t content_len)
size_t content_len,
void *cb_data)
{
PyObject *hunks, *data;
Hunk *hunk;
Expand All @@ -72,11 +72,11 @@ static int diff_data_cb(
}

static int diff_hunk_cb(
void *cb_data,
const git_diff_delta *delta,
const git_diff_range *range,
const char *header,
size_t header_len)
size_t header_len,
void *cb_data)
{
PyObject *hunks;
Hunk *hunk;
Expand Down Expand Up @@ -163,8 +163,8 @@ static int diff_hunk_cb(
return 0;
};

static int diff_file_cb(void *cb_data, const git_diff_delta *delta,
float progress)
static int diff_file_cb(const git_diff_delta *delta, float progress,
void *cb_data)
{
PyObject *files, *file;

Expand Down Expand Up @@ -202,23 +202,23 @@ Diff_changes(Diff *self)

git_diff_foreach(
self->diff,
self->diff_changes,
&diff_file_cb,
&diff_hunk_cb,
&diff_data_cb
&diff_data_cb,
self->diff_changes
);
}

return PyDict_Copy(self->diff_changes);
}

static int diff_print_cb(
void *cb_data,
const git_diff_delta *delta,
const git_diff_range *range,
char usage,
const char *line,
size_t line_len)
size_t line_len,
void *cb_data)
{
PyObject *data = PyBytes_FromStringAndSize(line, line_len);
PyBytes_ConcatAndDel((PyObject **)cb_data, data);
Expand All @@ -231,7 +231,7 @@ Diff_patch(Diff *self)
{
PyObject *patch = PyBytes_FromString("");

git_diff_print_patch(self->diff, &patch, &diff_print_cb);
git_diff_print_patch(self->diff, &diff_print_cb, (void*) &patch);

return patch;
}
Expand Down Expand Up @@ -360,7 +360,7 @@ PyObject *
Diff_find_similar(Diff *self, PyObject *args)
{
int err;
git_diff_options opts = {0};
git_diff_find_options opts = {0};

if (!PyArg_ParseTuple(args, "|i", &opts.flags))
return NULL;
Expand Down
8 changes: 4 additions & 4 deletions src/pygit2/index.c
Expand Up @@ -264,7 +264,7 @@ Index_len(Index *self)
}

PyObject *
wrap_index_entry(git_index_entry *entry, Index *index)
wrap_index_entry(const git_index_entry *entry, Index *index)
{
IndexEntry *py_entry;

Expand All @@ -278,8 +278,8 @@ wrap_index_entry(git_index_entry *entry, Index *index)
PyObject *
Index_getitem(Index *self, PyObject *value)
{
int idx;
git_index_entry *index_entry;
size_t idx;
const git_index_entry *index_entry;

idx = Index_get_position(self, value);
if (idx == -1)
Expand Down Expand Up @@ -460,7 +460,7 @@ IndexIter_dealloc(IndexIter *self)
PyObject *
IndexIter_iternext(IndexIter *self)
{
git_index_entry *index_entry;
const git_index_entry *index_entry;

index_entry = git_index_get_byindex(self->owner->index, self->i);
if (!index_entry)
Expand Down
26 changes: 15 additions & 11 deletions src/pygit2/reference.c
Expand Up @@ -63,13 +63,13 @@ PyObject* RefLogIter_iternext(PyObject *self)
&RefLogEntryType, NULL, NULL
);

git_oid_fmt(oid_old, git_reflog_entry_oidold(entry));
git_oid_fmt(oid_new, git_reflog_entry_oidnew(entry));
git_oid_fmt(oid_old, git_reflog_entry_id_old(entry));
git_oid_fmt(oid_new, git_reflog_entry_id_new(entry));

py_entry->oid_new = PyUnicode_FromStringAndSize(oid_new, 40);
py_entry->oid_old = PyUnicode_FromStringAndSize(oid_old, 40);

py_entry->msg = strdup(git_reflog_entry_msg(entry));
py_entry->msg = strdup(git_reflog_entry_message(entry));

signature = git_signature_dup(
git_reflog_entry_committer(entry)
Expand Down Expand Up @@ -220,10 +220,14 @@ Reference_get_target(Reference *self)
CHECK_REFERENCE(self);

/* Get the target */
c_name = git_reference_target(self->reference);
if (c_name == NULL) {
PyErr_SetString(PyExc_ValueError, "no target available");
return NULL;
if (GIT_REF_OID == git_reference_type(self->reference)) {
return git_oid_to_py_str(git_reference_target(self->reference));
} else {
c_name = git_reference_symbolic_target(self->reference);
if (c_name == NULL) {
PyErr_SetString(PyExc_ValueError, "no target available");
return NULL;
}
}

/* Make a PyString and return it */
Expand All @@ -244,7 +248,7 @@ Reference_set_target(Reference *self, PyObject *py_name)
return -1;

/* Set the new target */
err = git_reference_set_target(self->reference, c_name);
err = git_reference_symbolic_set_target(self->reference, c_name);
free(c_name);
if (err < 0) {
Error_set(err);
Expand All @@ -269,7 +273,7 @@ Reference_get_oid(Reference *self)
CHECK_REFERENCE(self);

/* Get the oid (only for "direct" references) */
oid = git_reference_oid(self->reference);
oid = git_reference_target(self->reference);
if (oid == NULL) {
PyErr_SetString(PyExc_ValueError,
"oid is only available if the reference is direct "
Expand Down Expand Up @@ -297,7 +301,7 @@ Reference_set_oid(Reference *self, PyObject *py_hex)
}

/* Set the oid */
err = git_reference_set_oid(self->reference, &oid);
err = git_reference_set_target(self->reference, &oid);
if (err < 0) {
Error_set(err);
return -1;
Expand All @@ -314,7 +318,7 @@ Reference_get_hex(Reference *self)
CHECK_REFERENCE(self);

/* Get the oid (only for "direct" references) */
oid = git_reference_oid(self->reference);
oid = git_reference_target(self->reference);
if (oid == NULL) {
PyErr_SetString(PyExc_ValueError,
"oid is only available if the reference is direct "
Expand Down
8 changes: 4 additions & 4 deletions src/pygit2/repository.c
Expand Up @@ -179,7 +179,7 @@ Repository_head(Repository *self)
return NULL;
}

oid = git_reference_oid(head);
oid = git_reference_target(head);
pyobj = lookup_object(self, oid, GIT_OBJ_COMMIT);
git_reference_free(head);
return pyobj;
Expand Down Expand Up @@ -527,7 +527,7 @@ Repository_create_blob_fromfile(Repository *self, PyObject *args)
if (!PyArg_ParseTuple(args, "s", &path))
return NULL;

err = git_blob_create_fromfile(&oid, self->repo, path);
err = git_blob_create_fromworkdir(&oid, self->repo, path);

if (err < 0)
return Error_set(err);
Expand Down Expand Up @@ -740,7 +740,7 @@ Repository_create_reference(Repository *self, PyObject *args, PyObject* keywds)
return Error_set(err);
}

err = git_reference_create_oid(&c_reference, self->repo, c_name, &oid, force);
err = git_reference_create(&c_reference, self->repo, c_name, &oid, force);
} else {
#if PY_MAJOR_VERSION == 2
c_target = PyString_AsString(py_obj);
Expand All @@ -750,7 +750,7 @@ Repository_create_reference(Repository *self, PyObject *args, PyObject* keywds)
if(c_target == NULL)
return NULL;

err = git_reference_create_symbolic(&c_reference, self->repo, c_name,
err = git_reference_symbolic_create(&c_reference, self->repo, c_name,
c_target, force);
}

Expand Down
2 changes: 1 addition & 1 deletion src/pygit2/tag.c
Expand Up @@ -39,7 +39,7 @@ Tag_get_target(Tag *self)
{
const git_oid *oid;

oid = git_tag_target_oid(self->tag);
oid = git_tag_target_id(self->tag);
return git_oid_to_python(oid->id);
}

Expand Down
1 change: 1 addition & 0 deletions test/test_refs.py
Expand Up @@ -174,6 +174,7 @@ def test_create_reference(self):
self.assertTrue('refs/tags/version1' in refs)
reference = self.repo.lookup_reference('refs/tags/version1')
self.assertEqual(reference.hex, LAST_COMMIT)
self.assertEqual(reference.target, LAST_COMMIT)

# try to create existing reference
self.assertRaises(ValueError, self.repo.create_reference,
Expand Down

0 comments on commit a511f29

Please sign in to comment.