rugged 1.0.1 → 1.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/ext/rugged/rugged_commit.c +1 -1
- data/lib/rugged/commit.rb +16 -2
- data/lib/rugged/version.rb +1 -1
- data/vendor/libgit2/CMakeLists.txt +31 -69
- data/vendor/libgit2/cmake/{Modules/AddCFlagIfSupported.cmake → AddCFlagIfSupported.cmake} +0 -0
- data/vendor/libgit2/cmake/{Modules/EnableWarnings.cmake → EnableWarnings.cmake} +0 -0
- data/vendor/libgit2/cmake/{Modules/FindCoreFoundation.cmake → FindCoreFoundation.cmake} +0 -0
- data/vendor/libgit2/cmake/{Modules/FindGSSAPI.cmake → FindGSSAPI.cmake} +0 -0
- data/vendor/libgit2/cmake/{Modules/FindGSSFramework.cmake → FindGSSFramework.cmake} +0 -0
- data/vendor/libgit2/cmake/{Modules/FindHTTP_Parser.cmake → FindHTTP_Parser.cmake} +0 -0
- data/vendor/libgit2/cmake/{Modules/FindIconv.cmake → FindIconv.cmake} +0 -0
- data/vendor/libgit2/cmake/{Modules/FindPCRE.cmake → FindPCRE.cmake} +0 -0
- data/vendor/libgit2/cmake/{Modules/FindPCRE2.cmake → FindPCRE2.cmake} +0 -0
- data/vendor/libgit2/cmake/{Modules/FindPkgLibraries.cmake → FindPkgLibraries.cmake} +0 -0
- data/vendor/libgit2/cmake/{Modules/FindSecurity.cmake → FindSecurity.cmake} +0 -0
- data/vendor/libgit2/cmake/{Modules/FindStatNsec.cmake → FindStatNsec.cmake} +0 -0
- data/vendor/libgit2/cmake/{Modules/FindmbedTLS.cmake → FindmbedTLS.cmake} +0 -0
- data/vendor/libgit2/cmake/{Modules/IdeSplitSources.cmake → IdeSplitSources.cmake} +0 -0
- data/vendor/libgit2/cmake/{Modules/PkgBuildConfig.cmake → PkgBuildConfig.cmake} +0 -0
- data/vendor/libgit2/cmake/{Modules/SanitizeBool.cmake → SanitizeBool.cmake} +0 -0
- data/vendor/libgit2/cmake/{Modules/SelectGSSAPI.cmake → SelectGSSAPI.cmake} +18 -26
- data/vendor/libgit2/cmake/{Modules/SelectHTTPSBackend.cmake → SelectHTTPSBackend.cmake} +25 -32
- data/vendor/libgit2/cmake/{Modules/SelectHashes.cmake → SelectHashes.cmake} +20 -28
- data/vendor/libgit2/deps/http-parser/CMakeLists.txt +4 -3
- data/vendor/libgit2/deps/ntlmclient/CMakeLists.txt +6 -5
- data/vendor/libgit2/deps/ntlmclient/compat.h +8 -1
- data/vendor/libgit2/deps/ntlmclient/ntlm.c +8 -11
- data/vendor/libgit2/deps/pcre/LICENCE +93 -0
- data/vendor/libgit2/deps/pcre/pcre.h +2 -2
- data/vendor/libgit2/deps/pcre/pcre_compile.c +29 -17
- data/vendor/libgit2/deps/pcre/pcre_jit_compile.c +4 -4
- data/vendor/libgit2/deps/pcre/pcreposix.c +2 -3
- data/vendor/libgit2/deps/zlib/CMakeLists.txt +6 -5
- data/vendor/libgit2/deps/zlib/deflate.c +1 -0
- data/vendor/libgit2/include/git2/annotated_commit.h +1 -1
- data/vendor/libgit2/include/git2/blame.h +2 -0
- data/vendor/libgit2/include/git2/common.h +15 -3
- data/vendor/libgit2/include/git2/deprecated.h +42 -2
- data/vendor/libgit2/include/git2/errors.h +2 -1
- data/vendor/libgit2/include/git2/index.h +1 -2
- data/vendor/libgit2/include/git2/pack.h +1 -1
- data/vendor/libgit2/include/git2/strarray.h +6 -10
- data/vendor/libgit2/include/git2/version.h +4 -4
- data/vendor/libgit2/src/CMakeLists.txt +53 -41
- data/vendor/libgit2/src/apply.c +5 -1
- data/vendor/libgit2/src/assert_safe.h +58 -0
- data/vendor/libgit2/src/attr_file.c +8 -3
- data/vendor/libgit2/src/attrcache.c +2 -3
- data/vendor/libgit2/src/blame.c +2 -0
- data/vendor/libgit2/src/blame_git.c +6 -3
- data/vendor/libgit2/src/blob.c +2 -0
- data/vendor/libgit2/src/branch.c +19 -21
- data/vendor/libgit2/src/buffer.c +6 -3
- data/vendor/libgit2/src/cache.c +1 -22
- data/vendor/libgit2/src/checkout.c +49 -72
- data/vendor/libgit2/src/cherrypick.c +2 -0
- data/vendor/libgit2/src/clone.c +78 -18
- data/vendor/libgit2/src/common.h +1 -0
- data/vendor/libgit2/src/config.c +3 -7
- data/vendor/libgit2/src/config_entries.c +35 -27
- data/vendor/libgit2/src/config_parse.c +1 -1
- data/vendor/libgit2/src/config_snapshot.c +2 -1
- data/vendor/libgit2/src/describe.c +5 -1
- data/vendor/libgit2/src/diff.c +12 -11
- data/vendor/libgit2/src/diff_file.c +3 -1
- data/vendor/libgit2/src/diff_generate.c +10 -11
- data/vendor/libgit2/src/diff_parse.c +2 -3
- data/vendor/libgit2/src/diff_print.c +63 -60
- data/vendor/libgit2/src/diff_stats.c +12 -11
- data/vendor/libgit2/src/diff_tform.c +2 -3
- data/vendor/libgit2/src/errors.c +2 -0
- data/vendor/libgit2/src/fetch.c +2 -0
- data/vendor/libgit2/src/filter.c +3 -3
- data/vendor/libgit2/src/futils.c +3 -3
- data/vendor/libgit2/src/futils.h +3 -3
- data/vendor/libgit2/src/global.c +3 -1
- data/vendor/libgit2/src/idxmap.c +0 -22
- data/vendor/libgit2/src/index.c +12 -7
- data/vendor/libgit2/src/indexer.c +10 -4
- data/vendor/libgit2/src/iterator.c +4 -4
- data/vendor/libgit2/src/merge.c +13 -7
- data/vendor/libgit2/src/merge_file.c +4 -6
- data/vendor/libgit2/src/midx.c +418 -0
- data/vendor/libgit2/src/midx.h +83 -0
- data/vendor/libgit2/src/mwindow.c +124 -51
- data/vendor/libgit2/src/net.c +6 -1
- data/vendor/libgit2/src/object.c +2 -1
- data/vendor/libgit2/src/odb.c +9 -6
- data/vendor/libgit2/src/odb_loose.c +3 -3
- data/vendor/libgit2/src/odb_mempack.c +2 -0
- data/vendor/libgit2/src/oid.c +2 -0
- data/vendor/libgit2/src/pack-objects.c +29 -21
- data/vendor/libgit2/src/pack.c +47 -28
- data/vendor/libgit2/src/pack.h +19 -2
- data/vendor/libgit2/src/patch_generate.c +1 -3
- data/vendor/libgit2/src/patch_parse.c +4 -2
- data/vendor/libgit2/src/path.c +4 -4
- data/vendor/libgit2/src/pathspec.c +4 -3
- data/vendor/libgit2/src/pool.c +21 -15
- data/vendor/libgit2/src/pool.h +9 -1
- data/vendor/libgit2/src/proxy.c +2 -0
- data/vendor/libgit2/src/push.c +2 -0
- data/vendor/libgit2/src/rebase.c +2 -0
- data/vendor/libgit2/src/refdb.c +135 -0
- data/vendor/libgit2/src/refdb.h +69 -0
- data/vendor/libgit2/src/refdb_fs.c +19 -81
- data/vendor/libgit2/src/reflog.c +2 -6
- data/vendor/libgit2/src/refs.c +60 -188
- data/vendor/libgit2/src/refs.h +1 -19
- data/vendor/libgit2/src/regexp.c +2 -2
- data/vendor/libgit2/src/remote.c +32 -17
- data/vendor/libgit2/src/repository.c +168 -79
- data/vendor/libgit2/src/repository.h +10 -27
- data/vendor/libgit2/src/revert.c +2 -0
- data/vendor/libgit2/src/revparse.c +5 -4
- data/vendor/libgit2/src/revwalk.c +3 -5
- data/vendor/libgit2/src/settings.c +9 -0
- data/vendor/libgit2/src/sortedcache.c +2 -3
- data/vendor/libgit2/src/stash.c +2 -0
- data/vendor/libgit2/src/status.c +2 -0
- data/vendor/libgit2/src/strarray.c +63 -0
- data/vendor/libgit2/src/streams/openssl.c +12 -6
- data/vendor/libgit2/src/streams/registry.c +5 -3
- data/vendor/libgit2/src/submodule.c +6 -4
- data/vendor/libgit2/src/sysdir.c +4 -20
- data/vendor/libgit2/src/sysdir.h +0 -11
- data/vendor/libgit2/src/tag.c +2 -0
- data/vendor/libgit2/src/thread-utils.h +139 -21
- data/vendor/libgit2/src/transaction.c +2 -1
- data/vendor/libgit2/src/transports/credential.c +2 -0
- data/vendor/libgit2/src/transports/credential_helpers.c +2 -0
- data/vendor/libgit2/src/transports/httpclient.c +6 -8
- data/vendor/libgit2/src/transports/local.c +2 -2
- data/vendor/libgit2/src/transports/smart.c +2 -2
- data/vendor/libgit2/src/transports/winhttp.c +18 -7
- data/vendor/libgit2/src/unix/posix.h +13 -1
- data/vendor/libgit2/src/util.c +25 -58
- data/vendor/libgit2/src/util.h +2 -2
- data/vendor/libgit2/src/win32/git2.rc +18 -3
- data/vendor/libgit2/src/win32/path_w32.c +2 -2
- data/vendor/libgit2/src/worktree.c +4 -0
- metadata +27 -25
- data/vendor/libgit2/cmake/Modules/CheckPrototypeDefinition.c.in +0 -29
- data/vendor/libgit2/cmake/Modules/CheckPrototypeDefinition.cmake +0 -96
- data/vendor/libgit2/src/refdb_fs.h +0 -19
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: bbddd8ed7b9186720e00287a27151807d91fb5bae97754109b7889ef9518d9b9
|
4
|
+
data.tar.gz: 21b205847f5ebeb4acaa10025ccb2703efc89791825df5790960447e7cdf8a57
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: e5b9bfd98f318ada120b757c77d25509ead843a1902065b26fb5427e3507ee67493679d2e8c6dc622daa50fb31c4cc787d59b030ce450679cec5c4d2e09aacb2
|
7
|
+
data.tar.gz: 7a6fc974d28c9205662f980c0d2067cb077d4b825798d9781a31fffddb7d0041739b6d68d36fc4cf59082ff8f4fc4e500810a40c54081e1df7f59cabdcbdbebc
|
data/ext/rugged/rugged_commit.c
CHANGED
@@ -425,7 +425,7 @@ struct commit_data {
|
|
425
425
|
* Note that parents may be set even when the function errors, so make
|
426
426
|
* sure to free this data.
|
427
427
|
*/
|
428
|
-
static
|
428
|
+
static int parse_commit_options(struct commit_data *out, git_repository *repo, VALUE rb_data)
|
429
429
|
{
|
430
430
|
VALUE rb_message, rb_tree, rb_parents, rb_ref;
|
431
431
|
int error = 0, parent_count, i;
|
data/lib/rugged/commit.rb
CHANGED
@@ -19,10 +19,24 @@ module Rugged
|
|
19
19
|
|
20
20
|
# Return a diff between this commit and its first parent or another commit or tree.
|
21
21
|
#
|
22
|
+
# The commit is treated as the new side of the diff by default
|
23
|
+
#
|
22
24
|
# See Rugged::Tree#diff for more details.
|
23
25
|
def diff(*args)
|
24
|
-
|
25
|
-
|
26
|
+
raise ArgumentError("wrong number of arguments (given #{args.length}, expected 0..2") if args.length > 2
|
27
|
+
other, opts = args
|
28
|
+
if other.is_a?(Hash)
|
29
|
+
opts = other
|
30
|
+
other = nil
|
31
|
+
end
|
32
|
+
opts ||= {}
|
33
|
+
# if other is not provided at all (as opposed to explicitly nil, or given)
|
34
|
+
# then diff against the prior commit
|
35
|
+
if args.empty? || args.first.is_a?(Hash)
|
36
|
+
other = parents.first
|
37
|
+
opts[:reverse] = !opts[:reverse]
|
38
|
+
end
|
39
|
+
self.tree.diff(other, opts)
|
26
40
|
end
|
27
41
|
|
28
42
|
# Return a diff between this commit and the workdir.
|
data/lib/rugged/version.rb
CHANGED
@@ -11,21 +11,12 @@
|
|
11
11
|
# Install:
|
12
12
|
# > cmake --build . --target install
|
13
13
|
|
14
|
-
PROJECT(libgit2 C)
|
15
14
|
CMAKE_MINIMUM_REQUIRED(VERSION 3.5.1)
|
16
|
-
|
17
|
-
|
18
|
-
CMAKE_POLICY(SET CMP0051 NEW)
|
19
|
-
ENDIF()
|
20
|
-
IF(POLICY CMP0042)
|
21
|
-
CMAKE_POLICY(SET CMP0042 NEW)
|
22
|
-
ENDIF()
|
23
|
-
IF(POLICY CMP0054)
|
24
|
-
CMAKE_POLICY(SET CMP0054 NEW)
|
25
|
-
ENDIF()
|
15
|
+
|
16
|
+
project(libgit2 VERSION "1.1.0" LANGUAGES C)
|
26
17
|
|
27
18
|
# Add find modules to the path
|
28
|
-
|
19
|
+
set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${libgit2_SOURCE_DIR}/cmake/")
|
29
20
|
|
30
21
|
INCLUDE(CheckLibraryExists)
|
31
22
|
INCLUDE(CheckFunctionExists)
|
@@ -49,8 +40,6 @@ OPTION(THREADSAFE "Build libgit2 as threadsafe" ON)
|
|
49
40
|
OPTION(BUILD_CLAR "Build Tests using the Clar suite" ON)
|
50
41
|
OPTION(BUILD_EXAMPLES "Build library usage example apps" OFF)
|
51
42
|
OPTION(BUILD_FUZZERS "Build the fuzz targets" OFF)
|
52
|
-
OPTION(TAGS "Generate tags" OFF)
|
53
|
-
OPTION(PROFILE "Generate profiling information" OFF)
|
54
43
|
OPTION(ENABLE_TRACE "Enables tracing support" ON)
|
55
44
|
OPTION(LIBGIT2_FILENAME "Name of the produced binary" OFF)
|
56
45
|
OPTION(USE_SSH "Link with libssh2 to enable SSH support" ON)
|
@@ -104,16 +93,6 @@ IF(MSVC)
|
|
104
93
|
OPTION(MSVC_CRTDBG "Enable CRTDBG memory leak reporting" OFF)
|
105
94
|
ENDIF()
|
106
95
|
|
107
|
-
FILE(STRINGS "${libgit2_SOURCE_DIR}/include/git2/version.h" GIT2_HEADER REGEX "^#define LIBGIT2_VERSION \"[^\"]*\"$")
|
108
|
-
|
109
|
-
STRING(REGEX REPLACE "^.*LIBGIT2_VERSION \"([0-9]+).*$" "\\1" LIBGIT2_VERSION_MAJOR "${GIT2_HEADER}")
|
110
|
-
STRING(REGEX REPLACE "^.*LIBGIT2_VERSION \"[0-9]+\\.([0-9]+).*$" "\\1" LIBGIT2_VERSION_MINOR "${GIT2_HEADER}")
|
111
|
-
STRING(REGEX REPLACE "^.*LIBGIT2_VERSION \"[0-9]+\\.[0-9]+\\.([0-9]+).*$" "\\1" LIBGIT2_VERSION_REV "${GIT2_HEADER}")
|
112
|
-
SET(LIBGIT2_VERSION_STRING "${LIBGIT2_VERSION_MAJOR}.${LIBGIT2_VERSION_MINOR}.${LIBGIT2_VERSION_REV}")
|
113
|
-
|
114
|
-
FILE(STRINGS "${libgit2_SOURCE_DIR}/include/git2/version.h" GIT2_HEADER_SOVERSION REGEX "^#define LIBGIT2_SOVERSION \"([0-9.]+)\"$")
|
115
|
-
STRING(REGEX REPLACE "^.*LIBGIT2_SOVERSION \"([0-9.]+)\"$" "\\1" LIBGIT2_SOVERSION "${GIT2_HEADER_SOVERSION}")
|
116
|
-
|
117
96
|
IF (DEPRECATE_HARD)
|
118
97
|
ADD_DEFINITIONS(-DGIT_DEPRECATE_HARD)
|
119
98
|
ENDIF()
|
@@ -137,6 +116,11 @@ IF (MSVC)
|
|
137
116
|
# /Gd - explicitly set cdecl calling convention
|
138
117
|
SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} /Gd")
|
139
118
|
|
119
|
+
IF (NOT (MSVC_VERSION LESS 1900))
|
120
|
+
# /guard:cf - Enable Control Flow Guard
|
121
|
+
SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} /guard:cf")
|
122
|
+
ENDIF()
|
123
|
+
|
140
124
|
IF (STATIC_CRT)
|
141
125
|
SET(CRT_FLAG_DEBUG "/MTd")
|
142
126
|
SET(CRT_FLAG_RELEASE "/MT")
|
@@ -181,7 +165,12 @@ IF (MSVC)
|
|
181
165
|
# /NXCOMPAT - Data execution prevention (DEP)
|
182
166
|
# /LARGEADDRESSAWARE - >2GB user address space on x86
|
183
167
|
# /VERSION - Embed version information in PE header
|
184
|
-
SET(CMAKE_EXE_LINKER_FLAGS "/DYNAMICBASE /NXCOMPAT /LARGEADDRESSAWARE /VERSION:${
|
168
|
+
SET(CMAKE_EXE_LINKER_FLAGS "/DYNAMICBASE /NXCOMPAT /LARGEADDRESSAWARE /VERSION:${libgit2_VERSION_MAJOR}.${libgit2_VERSION_MINOR}")
|
169
|
+
|
170
|
+
IF (NOT (MSVC_VERSION LESS 1900))
|
171
|
+
# /GUARD:CF - Enable Control Flow Guard
|
172
|
+
SET(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} /GUARD:CF")
|
173
|
+
ENDIF()
|
185
174
|
|
186
175
|
# /DEBUG - Create a PDB
|
187
176
|
# /LTCG - Link time code generation (whole program optimization)
|
@@ -232,35 +221,27 @@ ELSE ()
|
|
232
221
|
ADD_DEFINITIONS(-D__USE_MINGW_ANSI_STDIO=1)
|
233
222
|
ENDIF ()
|
234
223
|
|
235
|
-
|
236
|
-
|
237
|
-
|
238
|
-
|
239
|
-
|
240
|
-
|
241
|
-
|
242
|
-
|
243
|
-
|
224
|
+
enable_warnings(documentation)
|
225
|
+
disable_warnings(documentation-deprecated-sync)
|
226
|
+
disable_warnings(missing-field-initializers)
|
227
|
+
enable_warnings(strict-aliasing)
|
228
|
+
enable_warnings(strict-prototypes)
|
229
|
+
enable_warnings(declaration-after-statement)
|
230
|
+
enable_warnings(shift-count-overflow)
|
231
|
+
enable_warnings(unused-const-variable)
|
232
|
+
enable_warnings(unused-function)
|
233
|
+
enable_warnings(int-conversion)
|
244
234
|
|
245
235
|
# MinGW uses gcc, which expects POSIX formatting for printf, but
|
246
236
|
# uses the Windows C library, which uses its own format specifiers.
|
247
237
|
# Disable format specifier warnings.
|
248
|
-
|
249
|
-
|
250
|
-
|
251
|
-
|
252
|
-
|
253
|
-
|
254
|
-
|
255
|
-
|
256
|
-
IF("${CMAKE_C_COMPILER_ID}" STREQUAL "Clang")
|
257
|
-
DISABLE_WARNINGS(documentation-deprecated-sync)
|
258
|
-
ENDIF()
|
259
|
-
|
260
|
-
IF (PROFILE)
|
261
|
-
SET(CMAKE_C_FLAGS "-pg ${CMAKE_C_FLAGS}")
|
262
|
-
SET(CMAKE_EXE_LINKER_FLAGS "-pg ${CMAKE_EXE_LINKER_FLAGS}")
|
263
|
-
ENDIF ()
|
238
|
+
if(MINGW)
|
239
|
+
disable_warnings(format)
|
240
|
+
disable_warnings(format-security)
|
241
|
+
else()
|
242
|
+
enable_warnings(format)
|
243
|
+
enable_warnings(format-security)
|
244
|
+
endif()
|
264
245
|
ENDIF()
|
265
246
|
|
266
247
|
# Ensure that MinGW provides the correct header files.
|
@@ -300,25 +281,6 @@ IF (BUILD_CLAR)
|
|
300
281
|
ADD_SUBDIRECTORY(tests)
|
301
282
|
ENDIF ()
|
302
283
|
|
303
|
-
IF (TAGS)
|
304
|
-
FIND_PROGRAM(CTAGS ctags)
|
305
|
-
IF (NOT CTAGS)
|
306
|
-
MESSAGE(FATAL_ERROR "Could not find ctags command")
|
307
|
-
ENDIF ()
|
308
|
-
|
309
|
-
FILE(GLOB_RECURSE SRC_ALL *.[ch])
|
310
|
-
|
311
|
-
ADD_CUSTOM_COMMAND(
|
312
|
-
OUTPUT tags
|
313
|
-
COMMAND ${CTAGS} -a ${SRC_ALL}
|
314
|
-
DEPENDS ${SRC_ALL}
|
315
|
-
)
|
316
|
-
ADD_CUSTOM_TARGET(
|
317
|
-
do_tags ALL
|
318
|
-
DEPENDS tags
|
319
|
-
)
|
320
|
-
ENDIF ()
|
321
|
-
|
322
284
|
IF (BUILD_EXAMPLES)
|
323
285
|
ADD_SUBDIRECTORY(examples)
|
324
286
|
ENDIF ()
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
@@ -1,35 +1,27 @@
|
|
1
|
-
# Select the backend to use
|
2
|
-
|
3
|
-
# We try to find any packages our backends might use
|
4
|
-
|
5
1
|
INCLUDE(SanitizeBool)
|
6
2
|
|
3
|
+
# We try to find any packages our backends might use
|
7
4
|
FIND_PACKAGE(GSSAPI)
|
8
5
|
IF (CMAKE_SYSTEM_NAME MATCHES "Darwin")
|
9
6
|
INCLUDE(FindGSSFramework)
|
10
7
|
ENDIF()
|
11
8
|
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
IF (
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
"
|
9
|
+
IF(USE_GSSAPI)
|
10
|
+
# Auto-select GSS backend
|
11
|
+
SanitizeBool(USE_GSSAPI)
|
12
|
+
IF (USE_GSSAPI STREQUAL ON)
|
13
|
+
IF (GSSFRAMEWORK_FOUND)
|
14
|
+
SET(USE_GSSAPI "GSS.framework")
|
15
|
+
ELSEIF(GSSAPI_FOUND)
|
16
|
+
SET(USE_GSSAPI "gssapi")
|
17
|
+
ELSE()
|
18
|
+
MESSAGE(FATAL_ERROR "Unable to autodetect a usable GSS backend."
|
19
|
+
"Please pass the backend name explicitly (-DUSE_GSS=backend)")
|
20
|
+
ENDIF()
|
22
21
|
ENDIF()
|
23
|
-
ELSEIF(USE_GSSAPI)
|
24
|
-
# Backend was explicitly set
|
25
|
-
SET(GSS_BACKEND ${USE_GSSAPI})
|
26
|
-
ELSE()
|
27
|
-
SET(GSS_BACKEND NO)
|
28
|
-
ENDIF()
|
29
22
|
|
30
|
-
IF(GSS_BACKEND)
|
31
23
|
# Check that we can find what's required for the selected backend
|
32
|
-
IF (
|
24
|
+
IF (USE_GSSAPI STREQUAL "GSS.framework")
|
33
25
|
IF (NOT GSSFRAMEWORK_FOUND)
|
34
26
|
MESSAGE(FATAL_ERROR "Asked for GSS.framework backend, but it wasn't found")
|
35
27
|
ENDIF()
|
@@ -37,8 +29,8 @@ IF(GSS_BACKEND)
|
|
37
29
|
LIST(APPEND LIBGIT2_LIBS ${GSSFRAMEWORK_LIBRARIES})
|
38
30
|
|
39
31
|
SET(GIT_GSSFRAMEWORK 1)
|
40
|
-
ADD_FEATURE_INFO(SPNEGO GIT_GSSFRAMEWORK "SPNEGO authentication support (${
|
41
|
-
ELSEIF (
|
32
|
+
ADD_FEATURE_INFO(SPNEGO GIT_GSSFRAMEWORK "SPNEGO authentication support (${USE_GSSAPI})")
|
33
|
+
ELSEIF (USE_GSSAPI STREQUAL "gssapi")
|
42
34
|
IF (NOT GSSAPI_FOUND)
|
43
35
|
MESSAGE(FATAL_ERROR "Asked for gssapi GSS backend, but it wasn't found")
|
44
36
|
ENDIF()
|
@@ -46,9 +38,9 @@ IF(GSS_BACKEND)
|
|
46
38
|
LIST(APPEND LIBGIT2_LIBS ${GSSAPI_LIBRARIES})
|
47
39
|
|
48
40
|
SET(GIT_GSSAPI 1)
|
49
|
-
ADD_FEATURE_INFO(SPNEGO GIT_GSSAPI "SPNEGO authentication support (${
|
41
|
+
ADD_FEATURE_INFO(SPNEGO GIT_GSSAPI "SPNEGO authentication support (${USE_GSSAPI})")
|
50
42
|
ELSE()
|
51
|
-
MESSAGE(FATAL_ERROR "Asked for backend ${
|
43
|
+
MESSAGE(FATAL_ERROR "Asked for backend ${USE_GSSAPI} but it wasn't found")
|
52
44
|
ENDIF()
|
53
45
|
ELSE()
|
54
46
|
SET(GIT_GSSAPI 0)
|
@@ -1,5 +1,3 @@
|
|
1
|
-
# Select the backend to use
|
2
|
-
|
3
1
|
INCLUDE(SanitizeBool)
|
4
2
|
|
5
3
|
# We try to find any packages our backends might use
|
@@ -10,36 +8,31 @@ IF (CMAKE_SYSTEM_NAME MATCHES "Darwin")
|
|
10
8
|
FIND_PACKAGE(CoreFoundation)
|
11
9
|
ENDIF()
|
12
10
|
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
IF (
|
17
|
-
IF (
|
18
|
-
|
11
|
+
IF(USE_HTTPS)
|
12
|
+
# Auto-select TLS backend
|
13
|
+
SanitizeBool(USE_HTTPS)
|
14
|
+
IF (USE_HTTPS STREQUAL ON)
|
15
|
+
IF (SECURITY_FOUND)
|
16
|
+
IF (SECURITY_HAS_SSLCREATECONTEXT)
|
17
|
+
SET(USE_HTTPS "SecureTransport")
|
18
|
+
ELSE()
|
19
|
+
MESSAGE(STATUS "Security framework is too old, falling back to OpenSSL")
|
20
|
+
SET(USE_HTTPS "OpenSSL")
|
21
|
+
ENDIF()
|
22
|
+
ELSEIF (WINHTTP)
|
23
|
+
SET(USE_HTTPS "WinHTTP")
|
24
|
+
ELSEIF(OPENSSL_FOUND)
|
25
|
+
SET(USE_HTTPS "OpenSSL")
|
26
|
+
ELSEIF(MBEDTLS_FOUND)
|
27
|
+
SET(USE_HTTPS "mbedTLS")
|
19
28
|
ELSE()
|
20
|
-
MESSAGE(
|
21
|
-
|
29
|
+
MESSAGE(FATAL_ERROR "Unable to autodetect a usable HTTPS backend."
|
30
|
+
"Please pass the backend name explicitly (-DUSE_HTTPS=backend)")
|
22
31
|
ENDIF()
|
23
|
-
ELSEIF (WINHTTP)
|
24
|
-
SET(HTTPS_BACKEND "WinHTTP")
|
25
|
-
ELSEIF(OPENSSL_FOUND)
|
26
|
-
SET(HTTPS_BACKEND "OpenSSL")
|
27
|
-
ELSEIF(MBEDTLS_FOUND)
|
28
|
-
SET(HTTPS_BACKEND "mbedTLS")
|
29
|
-
ELSE()
|
30
|
-
MESSAGE(FATAL_ERROR "Unable to autodetect a usable HTTPS backend."
|
31
|
-
"Please pass the backend name explicitly (-DUSE_HTTPS=backend)")
|
32
32
|
ENDIF()
|
33
|
-
ELSEIF(USE_HTTPS)
|
34
|
-
# HTTPS backend was explicitly set
|
35
|
-
SET(HTTPS_BACKEND ${USE_HTTPS})
|
36
|
-
ELSE()
|
37
|
-
SET(HTTPS_BACKEND NO)
|
38
|
-
ENDIF()
|
39
33
|
|
40
|
-
IF(HTTPS_BACKEND)
|
41
34
|
# Check that we can find what's required for the selected backend
|
42
|
-
IF (
|
35
|
+
IF (USE_HTTPS STREQUAL "SecureTransport")
|
43
36
|
IF (NOT COREFOUNDATION_FOUND)
|
44
37
|
MESSAGE(FATAL_ERROR "Cannot use SecureTransport backend, CoreFoundation.framework not found")
|
45
38
|
ENDIF()
|
@@ -54,7 +47,7 @@ IF(HTTPS_BACKEND)
|
|
54
47
|
LIST(APPEND LIBGIT2_SYSTEM_INCLUDES ${SECURITY_INCLUDE_DIR})
|
55
48
|
LIST(APPEND LIBGIT2_LIBS ${COREFOUNDATION_LDFLAGS} ${SECURITY_LDFLAGS})
|
56
49
|
LIST(APPEND LIBGIT2_PC_LIBS ${COREFOUNDATION_LDFLAGS} ${SECURITY_LDFLAGS})
|
57
|
-
ELSEIF (
|
50
|
+
ELSEIF (USE_HTTPS STREQUAL "OpenSSL")
|
58
51
|
IF (NOT OPENSSL_FOUND)
|
59
52
|
MESSAGE(FATAL_ERROR "Asked for OpenSSL TLS backend, but it wasn't found")
|
60
53
|
ENDIF()
|
@@ -64,7 +57,7 @@ IF(HTTPS_BACKEND)
|
|
64
57
|
LIST(APPEND LIBGIT2_LIBS ${OPENSSL_LIBRARIES})
|
65
58
|
LIST(APPEND LIBGIT2_PC_LIBS ${OPENSSL_LDFLAGS})
|
66
59
|
LIST(APPEND LIBGIT2_PC_REQUIRES "openssl")
|
67
|
-
ELSEIF(
|
60
|
+
ELSEIF(USE_HTTPS STREQUAL "mbedTLS")
|
68
61
|
IF (NOT MBEDTLS_FOUND)
|
69
62
|
MESSAGE(FATAL_ERROR "Asked for mbedTLS backend, but it wasn't found")
|
70
63
|
ENDIF()
|
@@ -113,14 +106,14 @@ IF(HTTPS_BACKEND)
|
|
113
106
|
# https://github.com/ARMmbed/mbedtls/issues/228
|
114
107
|
# For now, pass its link flags as our own
|
115
108
|
LIST(APPEND LIBGIT2_PC_LIBS ${MBEDTLS_LIBRARIES})
|
116
|
-
ELSEIF (
|
109
|
+
ELSEIF (USE_HTTPS STREQUAL "WinHTTP")
|
117
110
|
# WinHTTP setup was handled in the WinHTTP-specific block above
|
118
111
|
ELSE()
|
119
|
-
MESSAGE(FATAL_ERROR "Asked for backend ${
|
112
|
+
MESSAGE(FATAL_ERROR "Asked for backend ${USE_HTTPS} but it wasn't found")
|
120
113
|
ENDIF()
|
121
114
|
|
122
115
|
SET(GIT_HTTPS 1)
|
123
|
-
ADD_FEATURE_INFO(HTTPS GIT_HTTPS "using ${
|
116
|
+
ADD_FEATURE_INFO(HTTPS GIT_HTTPS "using ${USE_HTTPS}")
|
124
117
|
ELSE()
|
125
118
|
SET(GIT_HTTPS 0)
|
126
119
|
ADD_FEATURE_INFO(HTTPS NO "")
|
@@ -5,37 +5,28 @@ INCLUDE(SanitizeBool)
|
|
5
5
|
# USE_SHA1=CollisionDetection(ON)/HTTPS/Generic/OFF
|
6
6
|
|
7
7
|
SanitizeBool(USE_SHA1)
|
8
|
-
IF(USE_SHA1 STREQUAL ON
|
9
|
-
SET(
|
8
|
+
IF(USE_SHA1 STREQUAL ON)
|
9
|
+
SET(USE_SHA1 "CollisionDetection")
|
10
10
|
ELSEIF(USE_SHA1 STREQUAL "HTTPS")
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
SET(SHA1_BACKEND ${HTTPS_BACKEND})
|
11
|
+
IF(USE_HTTPS STREQUAL "SecureTransport")
|
12
|
+
SET(USE_SHA1 "CommonCrypto")
|
13
|
+
ELSEIF(USE_HTTPS STREQUAL "WinHTTP")
|
14
|
+
SET(USE_SHA1 "Win32")
|
15
|
+
ELSEIF(USE_HTTPS)
|
16
|
+
SET(USE_SHA1 ${USE_HTTPS})
|
18
17
|
ELSE()
|
18
|
+
SET(USE_SHA1 "CollisionDetection")
|
19
19
|
ENDIF()
|
20
|
-
IF(NOT HTTPS_BACKEND)
|
21
|
-
SET(SHA1_BACKEND "CollisionDetection")
|
22
|
-
ENDIF()
|
23
|
-
message(STATUS "Using SHA1 backend ${SHA1_BACKEND}")
|
24
|
-
ELSEIF(USE_SHA1 STREQUAL "Generic")
|
25
|
-
SET(SHA1_BACKEND "Generic")
|
26
|
-
# ELSEIF(NOT USE_SHA1)
|
27
|
-
ELSE()
|
28
|
-
MESSAGE(FATAL_ERROR "Invalid value for USE_SHA1: ${USE_SHA1}")
|
29
20
|
ENDIF()
|
30
21
|
|
31
|
-
IF(
|
22
|
+
IF(USE_SHA1 STREQUAL "CollisionDetection")
|
32
23
|
SET(GIT_SHA1_COLLISIONDETECT 1)
|
33
24
|
ADD_DEFINITIONS(-DSHA1DC_NO_STANDARD_INCLUDES=1)
|
34
25
|
ADD_DEFINITIONS(-DSHA1DC_CUSTOM_INCLUDE_SHA1_C=\"common.h\")
|
35
26
|
ADD_DEFINITIONS(-DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C=\"common.h\")
|
36
27
|
FILE(GLOB SRC_SHA1 hash/sha1/collisiondetect.* hash/sha1/sha1dc/*)
|
37
|
-
ELSEIF(
|
38
|
-
# OPENSSL_FOUND should already be set, we're checking
|
28
|
+
ELSEIF(USE_SHA1 STREQUAL "OpenSSL")
|
29
|
+
# OPENSSL_FOUND should already be set, we're checking USE_HTTPS
|
39
30
|
|
40
31
|
SET(GIT_SHA1_OPENSSL 1)
|
41
32
|
IF(CMAKE_SYSTEM_NAME MATCHES "FreeBSD")
|
@@ -44,10 +35,10 @@ ELSEIF(SHA1_BACKEND STREQUAL "OpenSSL")
|
|
44
35
|
LIST(APPEND LIBGIT2_PC_REQUIRES "openssl")
|
45
36
|
ENDIF()
|
46
37
|
FILE(GLOB SRC_SHA1 hash/sha1/openssl.*)
|
47
|
-
ELSEIF(
|
38
|
+
ELSEIF(USE_SHA1 STREQUAL "CommonCrypto")
|
48
39
|
SET(GIT_SHA1_COMMON_CRYPTO 1)
|
49
40
|
FILE(GLOB SRC_SHA1 hash/sha1/common_crypto.*)
|
50
|
-
ELSEIF(
|
41
|
+
ELSEIF(USE_SHA1 STREQUAL "mbedTLS")
|
51
42
|
SET(GIT_SHA1_MBEDTLS 1)
|
52
43
|
FILE(GLOB SRC_SHA1 hash/sha1/mbedtls.*)
|
53
44
|
LIST(APPEND LIBGIT2_SYSTEM_INCLUDES ${MBEDTLS_INCLUDE_DIR})
|
@@ -56,14 +47,15 @@ ELSEIF(SHA1_BACKEND STREQUAL "mbedTLS")
|
|
56
47
|
# https://github.com/ARMmbed/mbedtls/issues/228
|
57
48
|
# For now, pass its link flags as our own
|
58
49
|
LIST(APPEND LIBGIT2_PC_LIBS ${MBEDTLS_LIBRARIES})
|
59
|
-
ELSEIF(
|
50
|
+
ELSEIF(USE_SHA1 STREQUAL "Win32")
|
60
51
|
SET(GIT_SHA1_WIN32 1)
|
61
52
|
FILE(GLOB SRC_SHA1 hash/sha1/win32.*)
|
62
|
-
ELSEIF(
|
53
|
+
ELSEIF(USE_SHA1 STREQUAL "Generic")
|
63
54
|
FILE(GLOB SRC_SHA1 hash/sha1/generic.*)
|
64
|
-
# ELSEIF(NOT USE_SHA1)
|
65
55
|
ELSE()
|
66
|
-
MESSAGE(FATAL_ERROR "Asked for unknown SHA1 backend: ${
|
56
|
+
MESSAGE(FATAL_ERROR "Asked for unknown SHA1 backend: ${USE_SHA1}")
|
67
57
|
ENDIF()
|
68
58
|
|
69
|
-
|
59
|
+
list(SORT SRC_SHA1)
|
60
|
+
|
61
|
+
ADD_FEATURE_INFO(SHA ON "using ${USE_SHA1}")
|