Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mono/libgit2.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEdward Thomson <ethomson@edwardthomson.com>2019-02-14 19:36:00 +0300
committerGitHub <noreply@github.com>2019-02-14 19:36:00 +0300
commit572e4d8c1f1d42feac1c770f0cddf6fda6c4eca0 (patch)
treed478081efb15b0acbfcdccbdab6b6548b335162d
parent1a107fac0fc88a4d74b64ffc9ae2fd178ba631c0 (diff)
parent65fff7899e5e68877a571071fa85577ab5d705d6 (diff)
Merge pull request #4983 from libgit2/ethomson/v0_28_1
Release v0.28.1
-rw-r--r--CMakeLists.txt6
-rw-r--r--README.md3
-rw-r--r--azure-pipelines.yml19
-rw-r--r--azure-pipelines/nightly.yml27
-rwxr-xr-xci/build.sh14
-rw-r--r--docs/changelog.md10
-rw-r--r--examples/CMakeLists.txt3
-rw-r--r--include/git2/version.h4
-rw-r--r--src/common.h6
-rw-r--r--tests/CMakeLists.txt3
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)
diff --git a/README.md b/README.md
index b675fdee0..3d05dab8e 100644
--- a/README.md
+++ b/README.md
@@ -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")