137c05e802
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
31 lines
657 B
Go
31 lines
657 B
Go
package git
|
|
|
|
/*
|
|
#include <git2.h>
|
|
*/
|
|
import "C"
|
|
|
|
type Feature int
|
|
|
|
const (
|
|
// libgit2 was built with threading support
|
|
FeatureThreads Feature = C.GIT_FEATURE_THREADS
|
|
|
|
// libgit2 was built with HTTPS support built-in
|
|
FeatureHTTPS Feature = C.GIT_FEATURE_HTTPS
|
|
|
|
// libgit2 was build with SSH support built-in
|
|
FeatureSSH Feature = C.GIT_FEATURE_SSH
|
|
|
|
// libgit2 was built with nanosecond support for files
|
|
FeatureNSec Feature = C.GIT_FEATURE_NSEC
|
|
)
|
|
|
|
// Features returns a bit-flag of Feature values indicating which features the
|
|
// loaded libgit2 library has.
|
|
func Features() Feature {
|
|
features := C.git_libgit2_features()
|
|
|
|
return Feature(features)
|
|
}
|