From 761d23bb2d2707ab13288a35b49b69a7bab1b766 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20Rodri=CC=81guez=20Troitin=CC=83o?= Date: Fri, 17 May 2013 23:00:53 +0200 Subject: [PATCH] Implement Branch.branch_name. --- src/branch.c | 19 +++++++++++++++++++ test/test_branch.py | 9 +++++++++ 2 files changed, 28 insertions(+) diff --git a/src/branch.c b/src/branch.c index a3b4c78..48909d2 100644 --- a/src/branch.c +++ b/src/branch.c @@ -105,6 +105,24 @@ PyObject* Branch_rename(Branch *self, PyObject *args) } +PyDoc_STRVAR(Branch_branch_name__doc__, + "The name of the local or remote branch."); + +PyObject* Branch_branch_name__get__(Branch *self) +{ + int err; + const char *c_name; + + CHECK_REFERENCE(self); + + err = git_branch_name(&c_name, self->reference); + if (err == GIT_OK) + return to_unicode(c_name, NULL, NULL); + else + return Error_set(err); +} + + PyMethodDef Branch_methods[] = { METHOD(Branch, delete, METH_NOARGS), METHOD(Branch, is_head, METH_NOARGS), @@ -113,6 +131,7 @@ PyMethodDef Branch_methods[] = { }; PyGetSetDef Branch_getseters[] = { + GETTER(Branch, branch_name), {NULL} }; diff --git a/test/test_branch.py b/test/test_branch.py index eebf1e0..a1289d7 100644 --- a/test/test_branch.py +++ b/test/test_branch.py @@ -110,6 +110,15 @@ class BranchesTestCase(utils.RepoTestCase): self.assertRaises(ValueError, lambda: original_branch.rename('abc@{123')) + def test_branch_name(self): + branch = self.repo.lookup_branch('master') + self.assertEqual(branch.branch_name, 'master') + self.assertEqual(branch.name, 'refs/heads/master') + + branch = self.repo.lookup_branch('i18n') + self.assertEqual(branch.branch_name, 'i18n') + self.assertEqual(branch.name, 'refs/heads/i18n') + class BranchesEmptyRepoTestCase(utils.EmptyRepoTestCase): def setUp(self):