From 91e211d4f9b528943ef7bf157fe89c2035934aa9 Mon Sep 17 00:00:00 2001 From: "W. Trevor King" Date: Thu, 13 Sep 2012 13:47:57 -0400 Subject: [PATCH 1/4] error: replace `GIT_REVWALKOVER` with `GIT_ITEROVER`. This catches up with changes in libgit2: commit f335ecd6e126aa9dea28786522c0e6ce71596e91 Author: Russell Belfer Date: Thu Aug 30 14:24:16 2012 -0700 --- src/pygit2/error.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/pygit2/error.c b/src/pygit2/error.c index 11129a3..dd4138d 100644 --- a/src/pygit2/error.c +++ b/src/pygit2/error.c @@ -55,7 +55,7 @@ PyObject * Error_type(int type) return GitError; /** No entries left in ref walker */ - case GIT_REVWALKOVER: + case GIT_ITEROVER: return PyExc_StopIteration; } From 8e1910281523e28dad4c1eb39c6b6ab92919437d Mon Sep 17 00:00:00 2001 From: "W. Trevor King" Date: Thu, 13 Sep 2012 13:53:37 -0400 Subject: [PATCH 2/4] index: Add NULL `stats` argument to git_index_read_tree call. This catches up with changes in libgit2: commit 4bf5115642b64851f9a32a8157010b588bf44103 Author: Ben Straub Date: Mon Jul 30 14:52:46 2012 -0700 Enable stats on git_index_read_tree. Replace with the contents of git_index_read_tree_with_stats() and improve documentation comments. --- src/pygit2/index.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/pygit2/index.c b/src/pygit2/index.c index 7dec030..d0de48e 100644 --- a/src/pygit2/index.c +++ b/src/pygit2/index.c @@ -331,7 +331,7 @@ Index_read_tree(Index *self, PyObject *value) if (err < 0) return Error_set(err); - err = git_index_read_tree(self->index, tree); + err = git_index_read_tree(self->index, tree, NULL); if (err < 0) return Error_set(err); From 651aa6a830edbbe9b2f472e25bdceda30a869dd9 Mon Sep 17 00:00:00 2001 From: "W. Trevor King" Date: Thu, 13 Sep 2012 16:14:24 -0400 Subject: [PATCH 3/4] tree: rename Tree.attributes to Tree.filemode. This catches up with changes in libgit2: commit 9d7ac675d06dab2e000ad32f9248631af0191f85 Author: nulltoken Date: Tue Aug 21 11:45:16 2012 +0200 tree entry: rename git_tree_entry_attributes() into git_tree_entry_filemode() --- README.rst | 2 +- include/pygit2/tree.h | 2 +- src/pygit2/tree.c | 6 +++--- test/test_tree.py | 6 +++--- test/test_treebuilder.py | 2 +- 5 files changed, 9 insertions(+), 9 deletions(-) diff --git a/README.rst b/README.rst index afdeeb8..bdf6225 100644 --- a/README.rst +++ b/README.rst @@ -200,7 +200,7 @@ This is the interface of a tree entry:: TreeEntry.name -- name of the tree entry TreeEntry.oid -- the id of the git object TreeEntry.hex -- hexadecimal representation of the oid - TreeEntry.attributes -- the Unix file attributes + TreeEntry.filemode -- the Unix file attributes TreeEntry.to_object() -- returns the git object (equivalent to repo[entry.oid]) diff --git a/include/pygit2/tree.h b/include/pygit2/tree.h index e4b086f..68218f7 100644 --- a/include/pygit2/tree.h +++ b/include/pygit2/tree.h @@ -33,7 +33,7 @@ #include #include -PyObject* TreeEntry_get_attributes(TreeEntry *self); +PyObject* TreeEntry_get_filemode(TreeEntry *self); PyObject* TreeEntry_get_name(TreeEntry *self); PyObject* TreeEntry_get_oid(TreeEntry *self); PyObject* TreeEntry_get_hex(TreeEntry *self); diff --git a/src/pygit2/tree.c b/src/pygit2/tree.c index 827b1c0..62db682 100644 --- a/src/pygit2/tree.c +++ b/src/pygit2/tree.c @@ -46,9 +46,9 @@ TreeEntry_dealloc(TreeEntry *self) } PyObject * -TreeEntry_get_attributes(TreeEntry *self) +TreeEntry_get_filemode(TreeEntry *self) { - return PyInt_FromLong(git_tree_entry_attributes(self->entry)); + return PyInt_FromLong(git_tree_entry_filemode(self->entry)); } PyObject * @@ -84,7 +84,7 @@ TreeEntry_to_object(TreeEntry *self) } PyGetSetDef TreeEntry_getseters[] = { - {"attributes", (getter)TreeEntry_get_attributes, NULL, "attributes", NULL}, + {"filemode", (getter)TreeEntry_get_filemode, NULL, "filemode", NULL}, {"name", (getter)TreeEntry_get_name, NULL, "name", NULL}, {"oid", (getter)TreeEntry_get_oid, NULL, "object id", NULL}, {"hex", (getter)TreeEntry_get_hex, NULL, "hex oid", NULL}, diff --git a/test/test_tree.py b/test/test_tree.py index 4ec22a9..eceb7f2 100644 --- a/test/test_tree.py +++ b/test/test_tree.py @@ -42,11 +42,11 @@ SUBTREE_SHA = '614fd9a3094bf618ea938fffc00e7d1a54f89ad0' class TreeTest(utils.BareRepoTestCase): - def assertTreeEntryEqual(self, entry, sha, name, attributes): + def assertTreeEntryEqual(self, entry, sha, name, filemode): self.assertEqual(entry.hex, sha) self.assertEqual(entry.name, name) - self.assertEqual(entry.attributes, attributes, - '0%o != 0%o' % (entry.attributes, attributes)) + self.assertEqual(entry.filemode, filemode, + '0%o != 0%o' % (entry.filemode, filemode)) def test_read_tree(self): tree = self.repo[TREE_SHA] diff --git a/test/test_treebuilder.py b/test/test_treebuilder.py index 8dbea77..de6e85d 100644 --- a/test/test_treebuilder.py +++ b/test/test_treebuilder.py @@ -57,7 +57,7 @@ class TreeBuilderTest(utils.BareRepoTestCase): tree = self.repo[TREE_SHA] bld = self.repo.TreeBuilder() for e in tree: - bld.insert(e.name, e.hex, e.attributes) + bld.insert(e.name, e.hex, e.filemode) result = bld.write() self.assertEqual(tree.oid, result) From 477e48ef6c9a4329fdcd42e06554544b83654fbc Mon Sep 17 00:00:00 2001 From: "W. Trevor King" Date: Thu, 13 Sep 2012 16:30:21 -0400 Subject: [PATCH 4/4] test_diff: hunk.old_lines should be 1 in test_diff_tree and test_diff_merge. In both cases, the file contents change from 'X contents\n' to 'X contents 2\n' (where 'X' is 'a' or 'b'). This means were removing one line and adding another. I'm not sure how this test was passing against libgit2 v0.17.0, so I may be missing something important. --- test/test_diff.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/test/test_diff.py b/test/test_diff.py index 7133bb0..5f61b09 100644 --- a/test/test_diff.py +++ b/test/test_diff.py @@ -123,9 +123,9 @@ class DiffTest(utils.BareRepoTestCase): hunk = diff.changes['hunks'][0] self.assertEqual(hunk.old_start, 1) - self.assertEqual(hunk.old_lines, 0) + self.assertEqual(hunk.old_lines, 1) self.assertEqual(hunk.new_start, 1) - self.assertEqual(hunk.new_lines, 0) + self.assertEqual(hunk.new_lines, 1) self.assertEqual(hunk.old_file, 'a') self.assertEqual(hunk.new_file, 'a') @@ -157,9 +157,9 @@ class DiffTest(utils.BareRepoTestCase): hunk = diff_b.changes['hunks'][1] self.assertEqual(hunk.old_start, 1) - self.assertEqual(hunk.old_lines, 0) + self.assertEqual(hunk.old_lines, 1) self.assertEqual(hunk.new_start, 1) - self.assertEqual(hunk.new_lines, 0) + self.assertEqual(hunk.new_lines, 1) self.assertEqual(hunk.old_file, 'b') self.assertEqual(hunk.new_file, 'b')