void test_core_features__0(void) { int major, minor, rev, caps; git_libgit2_version(&major, &minor, &rev); cl_assert_equal_i(LIBGIT2_VER_MAJOR, major); cl_assert_equal_i(LIBGIT2_VER_MINOR, minor); cl_assert_equal_i(LIBGIT2_VER_REVISION, rev); caps = git_libgit2_features(); #ifdef GIT_THREADS cl_assert((caps & GIT_FEATURE_THREADS) != 0); #else cl_assert((caps & GIT_FEATURE_THREADS) == 0); #endif #if defined(GIT_OPENSSL) || defined(GIT_WINHTTP) || defined(GIT_SECURE_TRANSPORT) cl_assert((caps & GIT_FEATURE_HTTPS) != 0); #else cl_assert((caps & GIT_FEATURE_HTTPS) == 0); #endif #if defined(GIT_SSH) cl_assert((caps & GIT_FEATURE_SSH) != 0); #else cl_assert((caps & GIT_FEATURE_SSH) == 0); #endif #if defined(GIT_USE_NSEC) cl_assert((caps & GIT_FEATURE_NSEC) != 0); #else cl_assert((caps & GIT_FEATURE_NSEC) == 0); #endif }
ERL_NIF_TERM geef_library_version(ErlNifEnv *env, int argc, const ERL_NIF_TERM argv[]) { int major, minor, rev; git_libgit2_version(&major, &minor, &rev); return enif_make_tuple3(env, enif_make_int(env, major), enif_make_int(env, minor), enif_make_int(env, rev)); }
/* * call-seq: * Rugged.libgit2_version -> version * * Returns an array representing the current libgit2 version in use. Using * the array makes it easier for the end-user to take conditional actions * based on each respective version attribute: major, minor, rev. * * Rugged.libgit2_version #=> [0, 17, 0] */ static VALUE rb_git_libgit2_version(VALUE self) { int major; int minor; int rev; git_libgit2_version(&major, &minor, &rev); // We return an array of three elements to represent the version components return rb_ary_new3(3, INT2NUM(major), INT2NUM(minor), INT2NUM(rev)); }
void print_version() { if (version_printed) return; printf("Subsurface v%s,\n", subsurface_git_version()); printf("built with libdivecomputer v%s\n", dc_version(NULL)); print_qt_versions(); int git_maj, git_min, git_rev; git_libgit2_version(&git_maj, &git_min, &git_rev); printf("built with libgit2 %d.%d.%d\n", git_maj, git_min, git_rev); version_printed = true; }
/** * Return the version of the libgit2 library being currently used. * * @return A VECSXP with major, minor and rev. */ SEXP git2r_libgit2_version(void) { const char *names[] = {"major", "minor", "rev", ""}; SEXP version; int major, minor, rev; git_libgit2_version(&major, &minor, &rev); PROTECT(version = Rf_mkNamed(VECSXP, names)); SET_VECTOR_ELT(version, 0, Rf_ScalarInteger(major)); SET_VECTOR_ELT(version, 1, Rf_ScalarInteger(minor)); SET_VECTOR_ELT(version, 2, Rf_ScalarInteger(rev)); UNPROTECT(1); return version; }
/** * Return the version of the libgit2 library being currently used. * * @return A VECSXP with major, minor and rev. */ SEXP git2r_libgit2_version(void) { SEXP version, names; int major, minor, rev; git_libgit2_version(&major, &minor, &rev); PROTECT(version = allocVector(VECSXP, 3)); setAttrib(version, R_NamesSymbol, names = allocVector(STRSXP, 3)); SET_VECTOR_ELT(version, 0, ScalarInteger(major)); SET_VECTOR_ELT(version, 1, ScalarInteger(minor)); SET_VECTOR_ELT(version, 2, ScalarInteger(rev)); SET_STRING_ELT(names, 0, mkChar("major")); SET_STRING_ELT(names, 1, mkChar("minor")); SET_STRING_ELT(names, 2, mkChar("rev")); UNPROTECT(1); return version; }
int main() { int major, minor, rev; git_libgit2_version(&major, &minor, &rev); std::cerr << major << "." << minor << "." << rev << '\n'; }