Git to Go; bindings for libgit2. Like McDonald's but tastier.
Go to file
Carlos Martín Nieto b189d7919a Allow aborting the pack writing operation
In case of an error in the writer, the packbuilder will stay around
waiting for someone to read from its channel. The state associated
with a packbuilder is non-trivial and it will keep a reference to the
object, so the GC won't be able to free it.

Change the ForEach interface to also return a "stop" channel. Closing
the channel or writing into it will cause the first receive clause to
act, making the callback to return -1, aborting the operation and
ending the goroutine, freeing its hold on the packbuilder.
2013-05-23 11:44:06 +02:00
LICENSE Initial commit 2013-03-05 20:53:04 +01:00
README.md Update README 2013-03-06 17:06:01 +01:00
blob.go Add a couple of missing methods around Blob 2013-03-06 23:59:33 +01:00
checkout.go Implement rudimentary checkout operations 2013-03-19 23:07:05 +01:00
commit.go Use time.Time in the Signature struct 2013-03-06 20:28:39 +01:00
config.go Initial commit 2013-03-05 20:53:04 +01:00
git.go Use cbool-helper in Discover() 2013-05-17 01:02:33 +02:00
index.go Wrap git_index 2013-03-06 13:10:53 +01:00
index_test.go Delete the whole test dir 2013-03-07 21:01:22 +01:00
odb.go Properly wrap ODB objects 2013-03-06 17:15:28 +01:00
packbuilder.go Allow aborting the pack writing operation 2013-05-23 11:44:06 +02:00
reference.go Wrap immutable refs 2013-03-07 21:01:21 +01:00
reference_test.go Oid: make sure not to dereference a NULL git_oid 2013-03-08 16:03:49 +01:00
repository.go Wrap git_repository_is_bare 2013-04-26 00:10:28 +02:00
submodule.go Submodule wrapping courtesy of @sbinet 2013-03-05 21:05:55 +01:00
tree.go TreeEntry: use Id instead of Oid 2013-03-08 21:26:19 +01:00
walk.go Bring back the RevWalk 2013-03-05 21:47:55 +01:00
wrapper.c Add support for git_packbuilder 2013-05-16 13:56:07 +02:00

README.md

git2go

Go bindings for libgit2. These bindings are for top-of-the-branch libgit2, and they move fast, things may or may not work. Operator get me Beijing-jing-jing-jing!

Installing

Just go get github.com/libgit2/git2go. You'll need to have top-of-the-branch libgit2 from development installed in your system and available via pkg-config. These bindings are in sync with the top of development.

License

M to the I to the T. See the LICENSE file if you've never seen a MIT license before.

Authors

  • Carlos Martín (@carlosmn)
  • Vicent Martí (@vmg)