Commit Graph

18 Commits

Author SHA1 Message Date
Carlos Martín Nieto b7159b0cd4 Move from an Object interface to a type
An Object should be about representing a libgit2 object rather than
showing which methods it should support.

Change any return of Object to *Object and provide methods to convert
between this and the particular type.
2015-08-04 14:47:10 +02:00
Calin Seciu 17950c198b Add ability to peel any git object
Includes support for 'git_object_peel'.
2015-08-01 14:28:20 +02:00
Mark Probst 45d88ca5f4 go fmt 2015-03-04 15:52:59 -08:00
Carlos Martín Nieto a9d993f3d1 Remove useless includes 2014-12-11 02:59:07 +01:00
Carlos Martín Nieto 668aa5dae1 Make the constants have types
While Go will assign the correct type to a const block when it
auto-creates the values, assigning makes the const be typeless and will
only gain it in each particular use.

Make each constant in the blocks have an assigned type.
2014-10-28 11:29:31 +01:00
Frank Benkstein bbdc7a825d add support for annotated tags 2014-06-09 23:19:17 +02:00
Carlos Martín Nieto 8a73c75f1a Keep a pointer to the repository in the objects and references
Otherwise, the garbage collector might decide it's a good idea to throw
away the repository instance while the C object still has a pointer to
it. Hilarity ensues.
2014-05-26 09:28:07 +02:00
Carlos Martín Nieto 2942e18d05 Give Object and Reference an Onwer accessor
This reduces the need to carry around a pointer to the repository as
well as the objects.
2014-05-25 09:12:10 +02:00
Carlos Martín Nieto a06f4a030a Adjust to Go tip changes
It does not like breaking aliasing rules, so let's keep a casted pointer
for when libgit2 wants that.
2014-04-01 12:36:44 +02:00
Carlos Martín Nieto d8c3772e35 ObjectType: capitalise Tag 2013-11-14 00:24:44 +01:00
Carlos Martín Nieto a5ad8de506 Don't repeat the pkg-config line
This is only needed once per package. Having it on every file makes the
build system ask about it n times, which is silly.
2013-11-14 00:23:04 +01:00
Carlos Martín Nieto 00e3df94c7 Camel-case constants
Make the names look more like what you'd expect from Go.
2013-09-12 10:40:57 +02:00
Carlos Martín Nieto 008e1efb35 Object types are constants
Define the object type values as constants
2013-09-11 23:01:27 +02:00
Vicent Martí 27e7ccee5a Merge pull request #16 from Merovius/pointerrecv
Give gitObject.Free a pointer-receiver
2013-04-25 17:41:18 -07:00
Axel Wagner 289d84e1f7 Give gitObject.Free a pointer-receiver
This is needed to get runtime.SetFinalizer to work, which
expects a pointer-receiver. Without it the runtime will crash, when it
tries to garbage-collect an object.
2013-04-26 02:32:41 +02:00
Axel Wagner ac6ea9aa75 Add String() Method to ObjectType 2013-04-26 02:06:47 +02:00
Vicent Marti 2bf17ba2f1 Ok, now with shared base object 2013-04-18 00:54:46 +02:00
Vicent Marti d190d8a6b3 Take 2 on polymorphism 2013-04-16 23:04:35 +02:00