Commit Graph

15 Commits

Author SHA1 Message Date
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 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
Jesper Hansen 499f52a354 Added git error code to the error object. 2014-02-26 16:10:00 +01:00
Carlos Martín Nieto 1b09b03c0e Merge commit 'refs/pull/53/head' of github.com:libgit2/git2go
On top: fix git_buf handling and rename signature

This fixes #57, #54.

Conflicts:
	git.go
	reference.go
	repository.go
	submodule.go
2014-02-23 15:31:22 +01:00
Carlos Martín Nieto a40bdfd420 Lock the OS thread when acessing errors
The library stores error information in thread-local storage, which
means we need to make sure that the Go runtime doesn't switch OS
threads between the time we call a function and th time we attempt to
retrieve the error information.
2013-12-18 16:18:32 +01:00
Artiom Di 5e30c192e9 Fix memleak for Config and parent commit objects 2013-11-14 15:24:43 +02:00
Vicent Martí 62f65d071d Merge pull request #13 from libgit2/polymorphism-take-2
My take on polymorphism
2013-06-13 10:15:36 -07:00
Axel Wagner 543a6a87af Implement Parent()-functions for Commits 2013-05-21 23:18:02 +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
Carlos Martín Nieto 32a62bb01a Use time.Time in the Signature struct 2013-03-06 20:28:39 +01:00
Vicent Marti 20e2528478 Repository.CreateCommit 2013-03-06 16:59:45 +01:00
Carlos Martín Nieto d43561fbf7 Free Git objects via finalizers or manually
Provide a manual way of freeing objects, but set finalizers for them
in case the user does not want to worry about memory management, which
would be useful for commits or trees, which sare typically small.

When the objects are freed manually, the finalizer is unset to avoid
double-freeing, mimicking what the go runtime does.
2013-03-06 01:47:53 +01:00
Carlos Martín Nieto dce75a8974 Introduce Signature
It brings the data into go-land so we don't have to worry about the
commit being there. It stores the data we get from git and provides a
Time() function to get a time.Time struct.
2013-03-05 23:18:07 +01:00
Vicent Marti b1d50b70ea Initial commit 2013-03-05 20:53:04 +01:00