diff options
author | Edward Thomson <ethomson@edwardthomson.com> | 2019-02-14 19:36:00 +0300 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-02-14 19:36:00 +0300 |
commit | 572e4d8c1f1d42feac1c770f0cddf6fda6c4eca0 (patch) | |
tree | d478081efb15b0acbfcdccbdab6b6548b335162d | |
parent | 1a107fac0fc88a4d74b64ffc9ae2fd178ba631c0 (diff) | |
parent | 65fff7899e5e68877a571071fa85577ab5d705d6 (diff) |
Merge pull request #4983 from libgit2/ethomson/v0_28_1
Release v0.28.1
-rw-r--r-- | CMakeLists.txt | 6 | ||||
-rw-r--r-- | README.md | 3 | ||||
-rw-r--r-- | azure-pipelines.yml | 19 | ||||
-rw-r--r-- | azure-pipelines/nightly.yml | 27 | ||||
-rwxr-xr-x | ci/build.sh | 14 | ||||
-rw-r--r-- | docs/changelog.md | 10 | ||||
-rw-r--r-- | examples/CMakeLists.txt | 3 | ||||
-rw-r--r-- | include/git2/version.h | 4 | ||||
-rw-r--r-- | src/common.h | 6 | ||||
-rw-r--r-- | tests/CMakeLists.txt | 3 |
10 files changed, 67 insertions, 28 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt index 0e0f296a2..88eb9ec10 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -64,6 +64,7 @@ OPTION(USE_EXT_HTTP_PARSER "Use system HTTP_Parser if available" ON) OPTION(DEBUG_POOL "Enable debug pool allocator" OFF) OPTION(ENABLE_WERROR "Enable compilation with -Werror" OFF) OPTION(USE_BUNDLED_ZLIB "Use the bundled version of zlib" OFF) +OPTION(DEPRECATE_HARD "Do not include deprecated functions in the library" OFF) IF (UNIX AND NOT APPLE) OPTION(ENABLE_REPRODUCIBLE_BUILDS "Enable reproducible builds" OFF) @@ -105,8 +106,9 @@ SET(LIBGIT2_VERSION_STRING "${LIBGIT2_VERSION_MAJOR}.${LIBGIT2_VERSION_MINOR}.${ FILE(STRINGS "${libgit2_SOURCE_DIR}/include/git2/version.h" GIT2_HEADER_SOVERSION REGEX "^#define LIBGIT2_SOVERSION [0-9]+$") STRING(REGEX REPLACE "^.*LIBGIT2_SOVERSION ([0-9]+)$" "\\1" LIBGIT2_SOVERSION "${GIT2_HEADER_SOVERSION}") -# Ensure that we do not use deprecated functions internally -ADD_DEFINITIONS(-DGIT_DEPRECATE_HARD) +IF (DEPRECATE_HARD) + ADD_DEFINITIONS(-DGIT_DEPRECATE_HARD) +ENDIF() # Platform specific compilation flags IF (MSVC) @@ -4,9 +4,10 @@ libgit2 - the Git linkable library | Build Status | | | ------------ | - | | **master** branch CI builds | [![Azure Pipelines Build Status](https://dev.azure.com/libgit2/libgit2/_apis/build/status/libgit2?branchName=master)](https://dev.azure.com/libgit2/libgit2/_build/latest?definitionId=7&branchName=master) | +| **v0.28 branch** CI builds | [![Azure Pipelines Build Status](https://dev.azure.com/libgit2/libgit2/_apis/build/status/libgit2?branchName=maint/v0.28)](https://dev.azure.com/libgit2/libgit2/_build/latest?definitionId=7&branchName=maint/v0.28) | | **v0.27 branch** CI builds | [![Azure Pipelines Build Status](https://dev.azure.com/libgit2/libgit2/_apis/build/status/libgit2?branchName=maint/v0.27)](https://dev.azure.com/libgit2/libgit2/_build/latest?definitionId=7&branchName=maint/v0.27) | | **v0.26 branch** CI builds | [![Azure Pipelines Build Status](https://dev.azure.com/libgit2/libgit2/_apis/build/status/libgit2?branchName=maint/v0.26)](https://dev.azure.com/libgit2/libgit2/_build/latest?definitionId=7&branchName=maint/v0.26) | -| **Nightly** builds | [![Azure Pipelines Build Status](https://libgit2.visualstudio.com/libgit2/_apis/build/status/libgit2?branchName=master&label=Full+Build)](https://libgit2.visualstudio.com/libgit2/_build/latest?definitionId=9&branchName=master) [![Build Status](https://dev.azure.com/libgit2/libgit2/_apis/build/status/coverity?branchName=master&label=Coverity+Build)](https://dev.azure.com/libgit2/libgit2/_build/latest?definitionId=21?branchName=master) [![Coverity Scan Build Status](https://scan.coverity.com/projects/639/badge.svg)](https://scan.coverity.com/projects/639) | +| **Nightly** builds | [![Azure Pipelines Build Status](https://libgit2.visualstudio.com/libgit2/_apis/build/status/nightly?branchName=master&label=Full+Build)](https://libgit2.visualstudio.com/libgit2/_build/latest?definitionId=9&branchName=master) [![Coverity Build Status](https://dev.azure.com/libgit2/libgit2/_apis/build/status/coverity?branchName=master&label=Coverity+Build)](https://dev.azure.com/libgit2/libgit2/_build/latest?definitionId=21?branchName=master) [![Coverity Scan Build Status](https://scan.coverity.com/projects/639/badge.svg)](https://scan.coverity.com/projects/639) | `libgit2` is a portable, pure C implementation of the Git core methods provided as a linkable library with a solid API, allowing to build Git diff --git a/azure-pipelines.yml b/azure-pipelines.yml index e4931cc4b..a37319adf 100644 --- a/azure-pipelines.yml +++ b/azure-pipelines.yml @@ -16,7 +16,7 @@ jobs: imageName: 'libgit2/trusty-amd64:latest' environmentVariables: | CC=gcc - CMAKE_OPTIONS=-DUSE_HTTPS=OpenSSL + CMAKE_OPTIONS=-DUSE_HTTPS=OpenSSL -DDEPRECATE_HARD=ON LEAK_CHECK=valgrind - job: linux_amd64_trusty_gcc_mbedtls @@ -29,7 +29,7 @@ jobs: imageName: 'libgit2/trusty-amd64:latest' environmentVariables: | CC=gcc - CMAKE_OPTIONS=-DUSE_HTTPS=mbedTLS -DSHA1_BACKEND=mbedTLS + CMAKE_OPTIONS=-DUSE_HTTPS=mbedTLS -DSHA1_BACKEND=mbedTLS -DDEPRECATE_HARD=ON LEAK_CHECK=valgrind - job: linux_amd64_trusty_clang_openssl @@ -42,7 +42,7 @@ jobs: imageName: 'libgit2/trusty-amd64:latest' environmentVariables: | CC=clang - CMAKE_OPTIONS=-DUSE_HTTPS=OpenSSL + CMAKE_OPTIONS=-DUSE_HTTPS=OpenSSL -DDEPRECATE_HARD=ON LEAK_CHECK=valgrind - job: linux_amd64_trusty_clang_mbedtls @@ -55,7 +55,7 @@ jobs: imageName: 'libgit2/trusty-amd64:latest' environmentVariables: | CC=clang - CMAKE_OPTIONS=-DUSE_HTTPS=mbedTLS -DSHA1_BACKEND=mbedTLS + CMAKE_OPTIONS=-DUSE_HTTPS=mbedTLS -DSHA1_BACKEND=mbedTLS -DDEPRECATE_HARD=ON LEAK_CHECK=valgrind - job: macos @@ -71,7 +71,8 @@ jobs: TMPDIR: $(Agent.TempDirectory) PKG_CONFIG_PATH: /usr/local/opt/openssl/lib/pkgconfig LEAK_CHECK: leaks - CMAKE_OPTIONS: -G Ninja + CMAKE_OPTIONS: -G Ninja -DDEPRECATE_HARD=ON + SKIP_SSH_TESTS: true - job: windows_vs_amd64 displayName: 'Windows (amd64; Visual Studio)' @@ -80,7 +81,7 @@ jobs: - template: azure-pipelines/powershell.yml parameters: environmentVariables: - CMAKE_OPTIONS: -DMSVC_CRTDBG=ON -G"Visual Studio 12 2013 Win64" + CMAKE_OPTIONS: -DMSVC_CRTDBG=ON -G"Visual Studio 12 2013 Win64" -DDEPRECATE_HARD=ON - job: windows_vs_x86 displayName: 'Windows (x86; Visual Studio)' @@ -89,7 +90,7 @@ jobs: - template: azure-pipelines/powershell.yml parameters: environmentVariables: - CMAKE_OPTIONS: -DMSVC_CRTDBG=ON -G"Visual Studio 12 2013" + CMAKE_OPTIONS: -DMSVC_CRTDBG=ON -G"Visual Studio 12 2013" -DDEPRECATE_HARD=ON - job: windows_mingw_amd64 displayName: 'Windows (amd64; MinGW)' @@ -103,7 +104,7 @@ jobs: - template: azure-pipelines/powershell.yml parameters: environmentVariables: - CMAKE_OPTIONS: -G"MinGW Makefiles" + CMAKE_OPTIONS: -G"MinGW Makefiles" -DDEPRECATE_HARD=ON PATH: $(Agent.TempDirectory)\mingw64\bin;C:\ProgramData\Oracle\Java\javapath;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Program Files (x86)\CMake\bin - job: windows_mingw_x86 @@ -119,7 +120,7 @@ jobs: - template: azure-pipelines/powershell.yml parameters: environmentVariables: - CMAKE_OPTIONS: -G"MinGW Makefiles" + CMAKE_OPTIONS: -G"MinGW Makefiles" -DDEPRECATE_HARD=ON PATH: $(Agent.TempDirectory)\mingw32\bin;C:\ProgramData\Oracle\Java\javapath;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Program Files (x86)\CMake\bin - job: documentation diff --git a/azure-pipelines/nightly.yml b/azure-pipelines/nightly.yml index 1d34a14df..fd76b97a8 100644 --- a/azure-pipelines/nightly.yml +++ b/azure-pipelines/nightly.yml @@ -12,7 +12,7 @@ jobs: imageName: 'libgit2/trusty-amd64:latest' environmentVariables: | CC=gcc - CMAKE_OPTIONS=-DUSE_HTTPS=OpenSSL + CMAKE_OPTIONS=-DUSE_HTTPS=OpenSSL -DDEPRECATE_HARD=ON LEAK_CHECK=valgrind RUN_INVASIVE_TESTS=true @@ -26,7 +26,7 @@ jobs: imageName: 'libgit2/trusty-amd64:latest' environmentVariables: | CC=gcc - CMAKE_OPTIONS=-DUSE_HTTPS=mbedTLS -DSHA1_BACKEND=mbedTLS + CMAKE_OPTIONS=-DUSE_HTTPS=mbedTLS -DSHA1_BACKEND=mbedTLS -DDEPRECATE_HARD=ON LEAK_CHECK=valgrind RUN_INVASIVE_TESTS=true @@ -40,7 +40,7 @@ jobs: imageName: 'libgit2/trusty-amd64:latest' environmentVariables: | CC=clang - CMAKE_OPTIONS=-DUSE_HTTPS=OpenSSL + CMAKE_OPTIONS=-DUSE_HTTPS=OpenSSL -DDEPRECATE_HARD=ON LEAK_CHECK=valgrind RUN_INVASIVE_TESTS=true @@ -54,7 +54,7 @@ jobs: imageName: 'libgit2/trusty-amd64:latest' environmentVariables: | CC=clang - CMAKE_OPTIONS=-DUSE_HTTPS=mbedTLS -DSHA1_BACKEND=mbedTLS + CMAKE_OPTIONS=-DUSE_HTTPS=mbedTLS -DSHA1_BACKEND=mbedTLS -DDEPRECATE_HARD=ON LEAK_CHECK=valgrind RUN_INVASIVE_TESTS=true @@ -71,8 +71,9 @@ jobs: TMPDIR: $(Agent.TempDirectory) PKG_CONFIG_PATH: /usr/local/opt/openssl/lib/pkgconfig LEAK_CHECK: leaks - CMAKE_OPTIONS: -G Ninja + CMAKE_OPTIONS: -G Ninja -DDEPRECATE_HARD=ON RUN_INVASIVE_TESTS: true + SKIP_SSH_TESTS: true - job: windows_vs_amd64 displayName: 'Windows (amd64; Visual Studio)' @@ -81,7 +82,7 @@ jobs: - template: powershell.yml parameters: environmentVariables: - CMAKE_OPTIONS: -DMSVC_CRTDBG=ON -G"Visual Studio 12 2013 Win64" + CMAKE_OPTIONS: -DMSVC_CRTDBG=ON -G"Visual Studio 12 2013 Win64" -DDEPRECATE_HARD=ON RUN_INVASIVE_TESTS: true - job: windows_vs_x86 @@ -91,7 +92,7 @@ jobs: - template: powershell.yml parameters: environmentVariables: - CMAKE_OPTIONS: -DMSVC_CRTDBG=ON -G"Visual Studio 12 2013" + CMAKE_OPTIONS: -DMSVC_CRTDBG=ON -G"Visual Studio 12 2013" -DDEPRECATE_HARD=ON RUN_INVASIVE_TESTS: true - job: windows_mingw_amd64 @@ -106,7 +107,7 @@ jobs: - template: powershell.yml parameters: environmentVariables: - CMAKE_OPTIONS: -G"MinGW Makefiles" + CMAKE_OPTIONS: -G"MinGW Makefiles" -DDEPRECATE_HARD=ON PATH: $(Agent.TempDirectory)\mingw64\bin;C:\ProgramData\Oracle\Java\javapath;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Program Files (x86)\CMake\bin RUN_INVASIVE_TESTS: true @@ -123,7 +124,7 @@ jobs: - template: powershell.yml parameters: environmentVariables: - CMAKE_OPTIONS: -G"MinGW Makefiles" + CMAKE_OPTIONS: -G"MinGW Makefiles" -DDEPRECATE_HARD=ON PATH: $(Agent.TempDirectory)\mingw32\bin;C:\ProgramData\Oracle\Java\javapath;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Program Files (x86)\CMake\bin RUN_INVASIVE_TESTS: true @@ -138,7 +139,7 @@ jobs: imageName: 'libgit2/bionic-x86:latest' environmentVariables: | CC=gcc - CMAKE_OPTIONS=-DUSE_HTTPS=OpenSSL + CMAKE_OPTIONS=-DUSE_HTTPS=OpenSSL -DDEPRECATE_HARD=ON LEAK_CHECK=valgrind RUN_INVASIVE_TESTS=true @@ -153,7 +154,7 @@ jobs: imageName: 'libgit2/bionic-x86:latest' environmentVariables: | CC=clang - CMAKE_OPTIONS=-DUSE_HTTPS=OpenSSL + CMAKE_OPTIONS=-DUSE_HTTPS=OpenSSL -DDEPRECATE_HARD=ON LEAK_CHECK=valgrind RUN_INVASIVE_TESTS=true @@ -168,7 +169,7 @@ jobs: imageName: 'libgit2/bionic-arm32:latest' environmentVariables: | CC=gcc - CMAKE_OPTIONS=-DUSE_HTTPS=OpenSSL + CMAKE_OPTIONS=-DUSE_HTTPS=OpenSSL -DDEPRECATE_HARD=ON RUN_INVASIVE_TESTS=true SKIP_PROXY_TESTS=true @@ -183,6 +184,6 @@ jobs: imageName: 'libgit2/bionic-arm64:latest' environmentVariables: | CC=gcc - CMAKE_OPTIONS=-DUSE_HTTPS=OpenSSL + CMAKE_OPTIONS=-DUSE_HTTPS=OpenSSL -DDEPRECATE_HARD=ON RUN_INVASIVE_TESTS=true SKIP_PROXY_TESTS=true diff --git a/ci/build.sh b/ci/build.sh index 49e733077..7ffa610ae 100755 --- a/ci/build.sh +++ b/ci/build.sh @@ -16,8 +16,20 @@ indent() { sed "s/^/ /"; } echo "Source directory: ${SOURCE_DIR}" echo "Build directory: ${BUILD_DIR}" echo "" -echo "Operating system version:" + +if [ "$(uname -s)" = "Darwin" ]; then + echo "macOS version:" + sw_vers | indent +fi + +if [ -f "/etc/debian_version" ]; then + echo "Debian version:" + lsb_release -a | indent +fi + +echo "Kernel version:" uname -a 2>&1 | indent + echo "CMake version:" cmake --version 2>&1 | indent echo "Compiler version:" diff --git a/docs/changelog.md b/docs/changelog.md index 666eecd17..7d1dac62a 100644 --- a/docs/changelog.md +++ b/docs/changelog.md @@ -1,3 +1,13 @@ +v0.28.1 +------- + +This is a bugfix release with the following change: + +* The deprecated functions (`git_buf_free` and the `giterr_` family of + functions) are now exported properly. In the v0.28 release, they were + not given the correct external attributes and they did not have the + correct linkage visibility in the v0.28 library. + v0.28 ----- diff --git a/examples/CMakeLists.txt b/examples/CMakeLists.txt index 49edaec0f..e631b96f2 100644 --- a/examples/CMakeLists.txt +++ b/examples/CMakeLists.txt @@ -5,6 +5,9 @@ FILE(GLOB_RECURSE SRC_EXAMPLE_GIT2 network/*.c network/*.h common.?) ADD_EXECUTABLE(cgit2 ${SRC_EXAMPLE_GIT2}) SET_TARGET_PROPERTIES(cgit2 PROPERTIES C_STANDARD 90) +# Ensure that we do not use deprecated functions internally +ADD_DEFINITIONS(-DGIT_DEPRECATE_HARD) + IF(WIN32 OR ANDROID) TARGET_LINK_LIBRARIES(cgit2 git2) ELSE() diff --git a/include/git2/version.h b/include/git2/version.h index 148808ca0..7b7122000 100644 --- a/include/git2/version.h +++ b/include/git2/version.h @@ -7,10 +7,10 @@ #ifndef INCLUDE_git_version_h__ #define INCLUDE_git_version_h__ -#define LIBGIT2_VERSION "0.28.0" +#define LIBGIT2_VERSION "0.28.1" #define LIBGIT2_VER_MAJOR 0 #define LIBGIT2_VER_MINOR 28 -#define LIBGIT2_VER_REVISION 0 +#define LIBGIT2_VER_REVISION 1 #define LIBGIT2_VER_PATCH 0 #define LIBGIT2_SOVERSION 28 diff --git a/src/common.h b/src/common.h index 6e1eac834..18ba72dd1 100644 --- a/src/common.h +++ b/src/common.h @@ -79,6 +79,12 @@ #include "thread-utils.h" #include "integer.h" +/* + * Include the declarations for deprecated functions; this ensures + * that they're decorated with the proper extern/visibility attributes. + */ +#include "git2/deprecated.h" + #include <regex.h> #define DEFAULT_BUFSIZE 65536 diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt index 6ce5ae0af..aaa8ed109 100644 --- a/tests/CMakeLists.txt +++ b/tests/CMakeLists.txt @@ -11,6 +11,9 @@ ADD_DEFINITIONS(-DCLAR_FIXTURE_PATH=\"${CLAR_FIXTURES}\") ADD_DEFINITIONS(-DCLAR_TMPDIR=\"libgit2_tests\") ADD_DEFINITIONS(-D_FILE_OFFSET_BITS=64) +# Ensure that we do not use deprecated functions internally +ADD_DEFINITIONS(-DGIT_DEPRECATE_HARD) + INCLUDE_DIRECTORIES(${CLAR_PATH} ${libgit2_BINARY_DIR}/src) FILE(GLOB_RECURSE SRC_TEST ${CLAR_PATH}/*/*.c ${CLAR_PATH}/*/*.h) SET(SRC_CLAR "main.c" "clar_libgit2.c" "clar_libgit2_trace.c" "clar_libgit2_timer.c" "clar.c") |