summaryrefslogtreecommitdiff
path: root/submodule.go
AgeCommit message (Collapse)Author
2021-09-05Make all Options objects consistentlhchavez
This change makes all Options objects have child Option fields as values (instead of pointers) to mirror the libgit2 interface. It also names them Options instead of Opts to match the current libgit2 nomenclature and removes the Version fields.
2021-09-05The big Callback type adjustment of 2020lhchavez
This change makes all callbacks that can fail return an `error`. This makes things a lot more idiomatic.
2021-09-05Make all non-user-creatable structures non-comparable (#802)lhchavez
This change makes all non-user-creatable structures non-comparable. This makes it easier to add changes later that don't introduce breaking changes from the go compatibility guarantees perspective. This, of course, implies that this change _is_ a breaking change, but since these structures are not intended to be created by users (or de-referenced), it should be okay.
2020-12-10More callback refactoring (#713)lhchavez
This change: * Gets rid of the `.toC()` functions for Options objects, since they were redundant with the `populateXxxOptions()`. * Adds support for `errorTarget` to the `RemoteOptions`, since they are used in the same stack for some functions (like `Fetch()`). Now for those cases, the error returned by the callback will be preserved as-is.
2020-12-05Refactor all callbacks (#700)lhchavez
This change is a preparation for another change that makes all callback types return a Go error instead of an error code / an integer. That is going to make make things a lot more idiomatic. The reason this change is split is threefold: a) This change is mostly mechanical and should contain no semantic changes. b) This change is backwards-compatible (in the Go API compatibility sense of the word), and thus can be backported to all other releases. c) It makes the other change a bit smaller and more focused on just one thing. Concretely, this change makes all callbacks populate a Go error when they fail. If the callback is invoked from the same stack as the function to which it was passed (e.g. for `Tree.Walk`), it will preserve the error object directly into a struct that also holds the callback function. Otherwise if the callback is pased to one func and will be invoked when run from another one (e.g. for `Repository.InitRebase`), the error string is saved into the libgit2 thread-local storage and then re-created as a `GitError`.
2020-12-05Mark some symbols to be deprecated #minor (#698)lhchavez
This change introduces the file deprecated.go, which contains any constants, functions, and types that are slated to be deprecated in the next major release. These symbols are deprecated because they refer to old spellings in pre-1.0 libgit2. This also makes the build be done with the `-DDEPRECATE_HARD` flag to avoid regressions. This, together with [gorelease](https://godoc.org/golang.org/x/exp/cmd/gorelease)[1] should make releases safer going forward. 1: More information about how that works at https://go.googlesource.com/exp/+/refs/heads/master/apidiff/README.md
2020-10-22refactor: Use undeprecated options init (#656)Suhaib Mujahid
This PR move form linking against the deprecated `init_options` functions to the renamed `options_init` functions. For more context see libgit2/libgit2@0b5ba0d744e69da5dc8c08d167c83dd87ed83af2 and libgit2/libgit2@c6184f0c4b209e462bf3f42ab20df2d13d8ee918.
2017-09-03clone_checkout_strategy removedMikołaj Baranowski
https://github.com/libgit2/libgit2/releases/tag/v0.26.0
2017-07-08Third round of keep-alive aditionsCarlos Martín Nieto
2015-06-30Submodule: use the Repository constructorCarlos Martín Nieto
2015-06-28Create a SubmoduleCollection for managing submodulesCarlos Martín Nieto
Similarly to RemoteCollection, this allows us to namespace the submodule operations much more concisely and removes API on the Repository.
2015-06-28Get rid of Owner() on Remote and SubmdouleCarlos Martín Nieto
These are inherently unsafe. The underlying pointer might get released at any moment.
2015-06-28Update to libgit2 fa39975Carlos Martín Nieto
2015-06-08Update to libgit2 b6011e29Carlos Martín Nieto
2015-06-08Merge remote-tracking branch 'origin/master' into nextCarlos Martín Nieto
2015-05-22handles: panic when we cannot retrieve handle dataPatrick Steinhardt
2015-05-22submodule: use HandleList for C function callbacksPatrick Steinhardt
2015-03-15Update to libgit2 d675982a153Carlos Martín Nieto
There's been some changes to the checkout strategy, especially the SAFE_CREATE mode, which is now the RECREATE_MISSING flag, though that shouldn't be necessary to use in the general case. The largest changes come from the removal of the signture from ref-modifying functions/methods and the removal of the reflog string in all but those directly related to moving references.
2015-03-04Default signatureMark Probst
2015-01-28Fix ForeachSubmodule panicing.Patrick Steinhardt
As the SubmoduleVisitor function is called from inside libgit2 we cannot use Go types in its signature. Fix by using C types instead.
2015-01-08Remove version from opts structure.David Calavera
It's not necessary.
2015-01-08Do not double check if the signature is nil.David Calavera
2015-01-08Add Submodule.Update method.David Calavera
Update libgit2 to a version that includes https://github.com/libgit2/libgit2/pull/2804.
2015-01-06Fix inconsistent function call in Submodule.David Calavera
2014-12-11Remove useless includesCarlos Martín Nieto
2014-10-28Make the constants have typesCarlos Martín Nieto
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-03-27Added force argument for (*Submodule).Reload() and ↵Simon Menke
(*Repository).ReloadAllSubmodules()
2014-02-26merge latest, cleanup error handling, add thread locksJesse Ezell
2014-02-26Convert the rest of the errorsCarlos Martín Nieto
2014-02-26Added git error code to the error object.Jesper Hansen
2014-02-23Return SubmoduleRecurseCarlos Martín Nieto
2014-02-23Merge commit 'refs/pull/53/head' of github.com:libgit2/git2goCarlos Martín Nieto
On top: fix git_buf handling and rename signature This fixes #57, #54. Conflicts: git.go reference.go repository.go submodule.go
2014-01-29update git2go to support latest libgit2 development commit (id: 66af84)Aidan Nulman
2014-01-02add git_submodule_recurse_t typeJason Toffaletti
2013-12-18Lock the OS thread when acessing errorsCarlos Martín Nieto
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-11-14Don't repeat the pkg-config lineCarlos Martín Nieto
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-07-22Submodule: adjust to the Default -> Reset change in the libraryCarlos Martín Nieto
2013-03-05Submodule wrapping courtesy of @sbinetVicent Marti