Commit Graph

767 Commits

Author SHA1 Message Date
Carlos Martín Nieto 2475907105 Merge commit 'refs/pull/174/head' of github.com:libgit2/git2go 2015-07-01 15:56:06 +02:00
Carlos Martín Nieto 47191d1274 Submodule: use the Repository constructor 2015-06-30 19:12:39 +02:00
Carlos Martín Nieto b6811196e4 Clone: test we clone something usable and fix constructor
Clone was still trying to do its own initialisation, which was missing
all of the namespacing changes.
2015-06-30 19:08:29 +02:00
Carlos Martín Nieto 66d266f971 Repository: move to use an actual constructor
This should further reduce the changes of the creation of the object
going badly.
2015-06-30 19:03:52 +02:00
Carlos Martín Nieto d478f4b111 Merge pull request #216 from libgit2/diff
Add blob diffing
2015-06-30 10:56:47 +02:00
Carlos Martín Nieto e066d24efb Add DiffBlobs
This lets you diff two arbitrary blobs with arbitrary names.
2015-06-29 21:29:47 +02:00
Carlos Martín Nieto 86e9917919 diff: remove unnecessary args to Hunk and Line ctors 2015-06-29 21:29:47 +02:00
Carlos Martín Nieto 0ce52d9aeb Update to libgit2 fb84cde8 2015-06-28 14:35:57 +02:00
Carlos Martín Nieto 2d6b1ebd4c travis: make the script executable 2015-06-28 13:19:03 +02:00
Carlos Martín Nieto 5f3a9d76b8 travis: don't install libgit2 for 'next' branch
We have our own libgit2 in a submodule, so this is unnecessary. While in
the area, update which version of libgit2 would be downloaded and remove
unnecessary CMake flags.
2015-06-28 13:17:14 +02:00
Carlos Martín Nieto 3115b6c762 travis: allow containerized builds
These builds should be quicker and faster. We don't need sudo, so write
that down for Travis to move us to these builds.
2015-06-28 01:32:59 +02:00
Carlos Martín Nieto e50203a253 Merge remote-tracking branch 'upstream/master' into next
Conflicts:
	branch.go
2015-06-28 01:32:13 +02:00
Carlos Martín Nieto 70c95a7655 Create a NotesCollection for managing notes
As with the others, move these methods into their own namespace.
2015-06-28 01:19:22 +02:00
Carlos Martín Nieto 01a2d8d38d Create a ReferenceCollection for managing references
As with the other commits, this clears up the clutter in naming and
around the Repository's API.
2015-06-28 01:12:32 +02:00
Carlos Martín Nieto d2808d1610 Create a SubmoduleCollection for managing submodules
Similarly to RemoteCollection, this allows us to namespace the submodule
operations much more concisely and removes API on the Repository.
2015-06-28 00:58:31 +02:00
Carlos Martín Nieto 4b9cbd78fd Create a RemoteCollection for managing remotes
Instead of making the 'Remote' part of the function calls, create a
collection object which serves to namespace the operations for the
remotes.
2015-06-28 00:51:17 +02:00
Carlos Martín Nieto ba0a24087a Get rid of Owner() on Remote and Submdoule
These are inherently unsafe. The underlying pointer might get released
at any moment.
2015-06-28 00:49:56 +02:00
Carlos Martín Nieto d400f1d5b2 Update to libgit2 fa39975 2015-06-28 00:34:54 +02:00
Carlos Martín Nieto 2488de286c Merge pull request #212 from libgit2/remote-handle
Make the network code use handles
2015-06-23 13:33:34 +02:00
Carlos Martín Nieto c00a05586b Make the network code use handles
This wasn't ported together with the rest, but it does exhibit the same
issues, so let's port it over now.
2015-06-10 13:37:59 +02:00
Carlos Martín Nieto 53fd8ea011 Merge pull request #211 from shinningstar/master
Free reference resource allocated by libgit2 during go garbage collecting
2015-06-09 11:27:44 +02:00
shinningstar 830e171463 Free reference resource allocated by libgit2 during go garbage collecting 2015-06-08 22:36:31 +08:00
Carlos Martín Nieto aefe85039e Merge pull request #210 from michaeledgar/master
Add error code matching GIT_EAUTH for authentication failures
2015-06-08 05:13:32 +02:00
Carlos Martín Nieto 36e0a256fe Update to libgit2 b6011e29 2015-06-08 04:11:21 +02:00
Carlos Martín Nieto 85fde1fcfb Merge remote-tracking branch 'origin/master' into next 2015-06-08 04:07:49 +02:00
Mike Edgar af7739787c Add error code matching GIT_EAUTH for authentication failures 2015-06-07 19:20:43 -04:00
taylorchu 53c158fbd7 Fix test error messages 2015-05-30 22:27:08 +02:00
Carlos Martín Nieto 35ff0de855 Merge pull request #196 from pks-t/pointer-indirection
[WIP/RFC] Pointer indirection
2015-05-30 22:23:23 +02:00
Patrick Steinhardt e8531dd5c3 diff: only untrack notify payload when it is set 2015-05-22 10:01:50 +02:00
Patrick Steinhardt c43afaf9c4 tree: use correct C callback signature 2015-05-22 09:56:21 +02:00
Patrick Steinhardt 1bd338af5e handles: do not store handles by uintptr
If we store values by uintptrs the GC may try to inspect their
values when it kicks in. As the pointers are most likely invalid,
this will result in an invalid pointer dereference, causing the
program to panic. We can fix this by storing values by an int
index value instead, returning pointers to those indices as
handles instead.
2015-05-22 09:50:16 +02:00
Patrick Steinhardt d95932c84a handles: panic when we cannot retrieve handle data 2015-05-22 09:02:39 +02:00
Patrick Steinhardt a843b7247f packbuilder: use HandleList for C function callbacks. 2015-05-22 09:02:24 +02:00
Patrick Steinhardt 83f9e6a705 blob: use HandleList for C function callbacks. 2015-05-22 09:02:24 +02:00
Patrick Steinhardt fe902f56a8 diff: use HandleList for C function callbacks. 2015-05-22 09:02:24 +02:00
Patrick Steinhardt 7ee534d0c5 handles: print pointer handle on panic. 2015-05-22 09:02:24 +02:00
Patrick Steinhardt e919653755 odb: use HandleList for C function callbacks. 2015-05-22 09:02:24 +02:00
Patrick Steinhardt 9bbec34885 index: use HandleList for C function callbacks. 2015-05-22 09:02:24 +02:00
Patrick Steinhardt 0a336e4abd handles: start slot indices with 1
Using 0 as the first slot indice leads to not being able to
differentiate between a handle to the first element or a
NULL-handle. As current code may check whether the pointer is
NULL, change the first indice to be 1 instead.
2015-05-22 09:02:24 +02:00
Patrick Steinhardt de45a4b8ed submodule: use HandleList for C function callbacks 2015-05-22 09:02:24 +02:00
Patrick Steinhardt be3a626f2e tree: use HandleList for C function callbacks. 2015-05-22 09:02:24 +02:00
Patrick Steinhardt bde012f3d4 handles: correctly initialize all members 2015-05-22 09:02:24 +02:00
Carlos Martín Nieto 7750e85fd1 Introduce an indirection layer for pointers
As the Go runtime can move stacks at any point and the C code runs
concurrently with the rest of the system, we cannot assume that the
payloads we give to the C code will stay valid for any particular
duration.

We must therefore give the C code handles which we can then look up in
our own list when the callbacks get called.
2015-05-22 09:02:24 +02:00
Carlos Martín Nieto 193deb7ae3 Merge pull request #202 from libgit2/index-basics
Add a few basic index operations
2015-05-19 15:21:49 +02:00
Carlos Martín Nieto 72c19f73c9 Index: Add Path() accessor 2015-05-19 15:05:00 +02:00
Carlos Martín Nieto d7a0495000 Index: Add OpenIndex
This lets you persist an index at an arbitrary location.
2015-05-19 14:56:01 +02:00
Carlos Martín Nieto a8ad0d2040 Index: Add ReadTree() 2015-05-19 14:49:05 +02:00
Fernando Oliveira c1df2dcdc1 Add method to check if repo is detached 2015-04-30 23:16:12 -03:00
Carlos Martín Nieto f7781c0e00 Merge pull request #179 from schani/master
Additions
2015-04-27 23:29:49 +02:00
Carlos Martín Nieto 9538c7f750 Merge pull request #197 from pks-t/test-cleanups
tests: always clean up temporary repository dirs
2015-04-24 16:47:42 +02:00