summaryrefslogtreecommitdiff
path: root/tag.go
AgeCommit message (Collapse)Author
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-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
2019-11-17Similar to #513 Fix potential segfault on Tag objectsDinesh Bolkensteyn
2017-07-08tag: accept an Objecter for creating a tagCarlos Martín Nieto
This lets us create a tag for any kind of object.
2017-07-08Add Objecer interfaceCarlos Martín Nieto
We do want to be able to accept generic objects in functions. Add this interface so we can accept that instead of specific object types.
2017-07-08Third round of keep-alive aditionsCarlos Martín Nieto
2016-05-29Tag RemoveMirko Nosenzo
Added support for removal of a Tag
2015-08-04Move from an Object interface to a typeCarlos Martín Nieto
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-07-31Move CreateTag to the tags collectionCarlos Martín Nieto
2015-07-31Add more support for tagsCalin Seciu
Implement support for the following libgit2 functions: - 'git_tag_list' and 'git_tag_list_match' - 'git_tag_foreach' - 'git_tag_create_lightweight'
2015-07-31Add TagsCollectionCalin Seciu
2014-06-09add support for annotated tagsFrank Benkstein