rugged 0.27.5 → 0.27.7
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/lib/rugged/version.rb +1 -1
- data/vendor/libgit2/CMakeLists.txt +2 -2
- data/vendor/libgit2/cmake/Modules/FindmbedTLS.cmake +93 -0
- data/vendor/libgit2/deps/http-parser/CMakeLists.txt +2 -0
- data/vendor/libgit2/include/git2.h +1 -0
- data/vendor/libgit2/include/git2/attr.h +18 -7
- data/vendor/libgit2/include/git2/blame.h +39 -22
- data/vendor/libgit2/include/git2/blob.h +1 -1
- data/vendor/libgit2/include/git2/branch.h +1 -1
- data/vendor/libgit2/include/git2/buffer.h +14 -2
- data/vendor/libgit2/include/git2/checkout.h +13 -12
- data/vendor/libgit2/include/git2/cherrypick.h +6 -4
- data/vendor/libgit2/include/git2/clone.h +8 -6
- data/vendor/libgit2/include/git2/commit.h +28 -0
- data/vendor/libgit2/include/git2/common.h +27 -0
- data/vendor/libgit2/include/git2/config.h +1 -0
- data/vendor/libgit2/include/git2/describe.h +30 -7
- data/vendor/libgit2/include/git2/diff.h +32 -22
- data/vendor/libgit2/include/git2/errors.h +1 -0
- data/vendor/libgit2/include/git2/ignore.h +2 -2
- data/vendor/libgit2/include/git2/mailmap.h +115 -0
- data/vendor/libgit2/include/git2/merge.h +10 -8
- data/vendor/libgit2/include/git2/proxy.h +9 -5
- data/vendor/libgit2/include/git2/rebase.h +7 -4
- data/vendor/libgit2/include/git2/refspec.h +17 -0
- data/vendor/libgit2/include/git2/remote.h +12 -10
- data/vendor/libgit2/include/git2/repository.h +7 -5
- data/vendor/libgit2/include/git2/revert.h +5 -3
- data/vendor/libgit2/include/git2/stash.h +11 -8
- data/vendor/libgit2/include/git2/status.h +7 -3
- data/vendor/libgit2/include/git2/submodule.h +8 -7
- data/vendor/libgit2/include/git2/sys/alloc.h +101 -0
- data/vendor/libgit2/include/git2/sys/index.h +3 -0
- data/vendor/libgit2/include/git2/sys/mempack.h +35 -35
- data/vendor/libgit2/include/git2/sys/merge.h +6 -1
- data/vendor/libgit2/include/git2/sys/path.h +55 -0
- data/vendor/libgit2/include/git2/transaction.h +1 -0
- data/vendor/libgit2/include/git2/types.h +8 -5
- data/vendor/libgit2/include/git2/version.h +2 -2
- data/vendor/libgit2/include/git2/worktree.h +46 -11
- data/vendor/libgit2/src/CMakeLists.txt +87 -15
- data/vendor/libgit2/src/alloc.c +47 -0
- data/vendor/libgit2/src/alloc.h +40 -0
- data/vendor/libgit2/src/apply.c +4 -4
- data/vendor/libgit2/src/attr.c +4 -4
- data/vendor/libgit2/src/attr_file.c +8 -7
- data/vendor/libgit2/src/attrcache.c +2 -2
- data/vendor/libgit2/src/blame.c +11 -4
- data/vendor/libgit2/src/blame.h +1 -0
- data/vendor/libgit2/src/blame_git.c +8 -5
- data/vendor/libgit2/src/blob.c +5 -5
- data/vendor/libgit2/src/branch.c +20 -20
- data/vendor/libgit2/src/buffer.c +9 -4
- data/vendor/libgit2/src/buffer.h +1 -1
- data/vendor/libgit2/src/checkout.c +33 -24
- data/vendor/libgit2/src/cherrypick.c +3 -3
- data/vendor/libgit2/src/clone.c +13 -13
- data/vendor/libgit2/src/commit.c +16 -3
- data/vendor/libgit2/src/common.h +3 -1
- data/vendor/libgit2/src/config.c +3 -3
- data/vendor/libgit2/src/config_file.c +193 -241
- data/vendor/libgit2/src/config_parse.c +89 -66
- data/vendor/libgit2/src/config_parse.h +2 -2
- data/vendor/libgit2/src/crlf.c +9 -3
- data/vendor/libgit2/src/diff.c +2 -2
- data/vendor/libgit2/src/diff_driver.c +3 -3
- data/vendor/libgit2/src/diff_file.c +3 -3
- data/vendor/libgit2/src/diff_generate.c +4 -3
- data/vendor/libgit2/src/diff_print.c +8 -8
- data/vendor/libgit2/src/diff_tform.c +1 -1
- data/vendor/libgit2/src/diff_xdiff.c +12 -0
- data/vendor/libgit2/src/features.h.in +2 -0
- data/vendor/libgit2/src/fetch.c +2 -2
- data/vendor/libgit2/src/fetchhead.c +5 -5
- data/vendor/libgit2/src/filebuf.c +4 -4
- data/vendor/libgit2/src/fileops.c +10 -10
- data/vendor/libgit2/src/filter.c +3 -3
- data/vendor/libgit2/src/global.c +17 -12
- data/vendor/libgit2/src/hash.h +2 -0
- data/vendor/libgit2/src/hash/hash_mbedtls.c +38 -0
- data/vendor/libgit2/src/hash/hash_mbedtls.h +20 -0
- data/vendor/libgit2/src/ignore.c +15 -20
- data/vendor/libgit2/src/index.c +77 -36
- data/vendor/libgit2/src/index.h +10 -0
- data/vendor/libgit2/src/indexer.c +9 -9
- data/vendor/libgit2/src/iterator.c +8 -8
- data/vendor/libgit2/src/khash.h +3 -1
- data/vendor/libgit2/src/mailmap.c +485 -0
- data/vendor/libgit2/src/mailmap.h +35 -0
- data/vendor/libgit2/src/merge.c +7 -7
- data/vendor/libgit2/src/netops.c +5 -5
- data/vendor/libgit2/src/notes.c +2 -2
- data/vendor/libgit2/src/odb.c +7 -7
- data/vendor/libgit2/src/odb_loose.c +13 -13
- data/vendor/libgit2/src/odb_pack.c +3 -3
- data/vendor/libgit2/src/pack-objects.c +2 -2
- data/vendor/libgit2/src/pack.c +5 -5
- data/vendor/libgit2/src/pack.h +1 -1
- data/vendor/libgit2/src/patch.c +1 -1
- data/vendor/libgit2/src/patch_generate.c +2 -2
- data/vendor/libgit2/src/patch_parse.c +11 -4
- data/vendor/libgit2/src/path.c +42 -66
- data/vendor/libgit2/src/path.h +2 -72
- data/vendor/libgit2/src/pathspec.c +1 -1
- data/vendor/libgit2/src/push.c +2 -2
- data/vendor/libgit2/src/rebase.c +19 -22
- data/vendor/libgit2/src/refdb_fs.c +65 -34
- data/vendor/libgit2/src/refs.c +6 -6
- data/vendor/libgit2/src/refspec.c +30 -5
- data/vendor/libgit2/src/refspec.h +1 -1
- data/vendor/libgit2/src/remote.c +40 -40
- data/vendor/libgit2/src/repository.c +63 -59
- data/vendor/libgit2/src/reset.c +1 -1
- data/vendor/libgit2/src/revert.c +3 -3
- data/vendor/libgit2/src/revparse.c +4 -4
- data/vendor/libgit2/src/revwalk.c +44 -10
- data/vendor/libgit2/src/revwalk.h +2 -1
- data/vendor/libgit2/src/settings.c +25 -1
- data/vendor/libgit2/src/signature.c +1 -1
- data/vendor/libgit2/src/stash.c +80 -34
- data/vendor/libgit2/src/status.c +1 -1
- data/vendor/libgit2/src/stdalloc.c +120 -0
- data/vendor/libgit2/src/stdalloc.h +17 -0
- data/vendor/libgit2/src/streams/mbedtls.c +463 -0
- data/vendor/libgit2/src/streams/mbedtls.h +20 -0
- data/vendor/libgit2/src/streams/openssl.c +132 -34
- data/vendor/libgit2/src/streams/openssl.h +0 -107
- data/vendor/libgit2/src/streams/tls.c +3 -0
- data/vendor/libgit2/src/submodule.c +117 -82
- data/vendor/libgit2/src/sysdir.c +4 -4
- data/vendor/libgit2/src/tag.c +7 -7
- data/vendor/libgit2/src/trace.h +1 -1
- data/vendor/libgit2/src/trailer.c +6 -6
- data/vendor/libgit2/src/transport.c +2 -2
- data/vendor/libgit2/src/transports/auth.c +1 -1
- data/vendor/libgit2/src/transports/auth_negotiate.c +2 -2
- data/vendor/libgit2/src/transports/git.c +1 -1
- data/vendor/libgit2/src/transports/http.c +12 -12
- data/vendor/libgit2/src/transports/local.c +7 -7
- data/vendor/libgit2/src/transports/smart.c +17 -8
- data/vendor/libgit2/src/transports/smart.h +5 -5
- data/vendor/libgit2/src/transports/smart_pkt.c +122 -130
- data/vendor/libgit2/src/transports/smart_protocol.c +48 -38
- data/vendor/libgit2/src/transports/ssh.c +1 -1
- data/vendor/libgit2/src/transports/winhttp.c +6 -6
- data/vendor/libgit2/src/tree.c +12 -53
- data/vendor/libgit2/src/tree.h +0 -12
- data/vendor/libgit2/src/util.c +16 -0
- data/vendor/libgit2/src/util.h +12 -135
- data/vendor/libgit2/src/win32/findfile.c +2 -2
- data/vendor/libgit2/src/win32/posix_w32.c +1 -1
- data/vendor/libgit2/src/win32/w32_crtdbg_stacktrace.c +94 -0
- data/vendor/libgit2/src/win32/w32_crtdbg_stacktrace.h +28 -75
- data/vendor/libgit2/src/worktree.c +64 -43
- data/vendor/libgit2/src/worktree.h +2 -0
- data/vendor/libgit2/src/xdiff/xdiffi.c +3 -1
- metadata +16 -2
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: ff10e024463517713720e2d4e8ea45634f6960c3fe0f5f2aa6e3dd653b271c6d
|
|
4
|
+
data.tar.gz: 359d2509194e1c6841fac18cfca3fd94ae4e23285da330ce7e94405d41e0c5f5
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 1e20fdce0243b2fb693702bfda14459813fabae492f1884f477ab2e6070e715e112eee09c210daee609bb51402cb45bb2d5a096512789070bdba3938343a799e
|
|
7
|
+
data.tar.gz: f4fca979a4d7d027a1f79c40a350d54776e0d659dba531e65a6677f335295c3209f5c55e903639b3bdb33dbc4f1c9be12f8f3b1d8990303ace013e603c558d2a
|
data/lib/rugged/version.rb
CHANGED
|
@@ -48,7 +48,7 @@ OPTION( PROFILE "Generate profiling information" OFF )
|
|
|
48
48
|
OPTION( ENABLE_TRACE "Enables tracing support" OFF )
|
|
49
49
|
OPTION( LIBGIT2_FILENAME "Name of the produced binary" OFF )
|
|
50
50
|
|
|
51
|
-
SET(SHA1_BACKEND "CollisionDetection" CACHE STRING "Backend to use for SHA1. One of Generic, OpenSSL, Win32, CommonCrypto, CollisionDetection. ")
|
|
51
|
+
SET(SHA1_BACKEND "CollisionDetection" CACHE STRING "Backend to use for SHA1. One of Generic, OpenSSL, Win32, CommonCrypto, mbedTLS, CollisionDetection. ")
|
|
52
52
|
OPTION( USE_SSH "Link with libssh to enable SSH support" ON )
|
|
53
53
|
OPTION( USE_HTTPS "Enable HTTPS support. Can be set to a specific backend" ON )
|
|
54
54
|
OPTION( USE_GSSAPI "Link with libgssapi for SPNEGO auth" OFF )
|
|
@@ -196,7 +196,7 @@ ELSE ()
|
|
|
196
196
|
ENABLE_WARNINGS(extra)
|
|
197
197
|
|
|
198
198
|
IF (CMAKE_SYSTEM_NAME MATCHES "(Solaris|SunOS)")
|
|
199
|
-
SET(CMAKE_C_FLAGS "-
|
|
199
|
+
SET(CMAKE_C_FLAGS "-D_POSIX_C_SOURCE=200112L -D__EXTENSIONS__ -D_POSIX_PTHREAD_SEMANTICS ${CMAKE_C_FLAGS}")
|
|
200
200
|
ENDIF()
|
|
201
201
|
|
|
202
202
|
SET(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} -D_DEBUG -O0")
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
# - Try to find mbedTLS
|
|
2
|
+
# Once done this will define
|
|
3
|
+
#
|
|
4
|
+
# Read-Only variables
|
|
5
|
+
# MBEDTLS_FOUND - system has mbedTLS
|
|
6
|
+
# MBEDTLS_INCLUDE_DIR - the mbedTLS include directory
|
|
7
|
+
# MBEDTLS_LIBRARY_DIR - the mbedTLS library directory
|
|
8
|
+
# MBEDTLS_LIBRARIES - Link these to use mbedTLS
|
|
9
|
+
# MBEDTLS_LIBRARY - path to mbedTLS library
|
|
10
|
+
# MBEDX509_LIBRARY - path to mbedTLS X.509 library
|
|
11
|
+
# MBEDCRYPTO_LIBRARY - path to mbedTLS Crypto library
|
|
12
|
+
#
|
|
13
|
+
# Hint
|
|
14
|
+
# MBEDTLS_ROOT_DIR can be pointed to a local mbedTLS installation.
|
|
15
|
+
|
|
16
|
+
SET(_MBEDTLS_ROOT_HINTS
|
|
17
|
+
${MBEDTLS_ROOT_DIR}
|
|
18
|
+
ENV MBEDTLS_ROOT_DIR
|
|
19
|
+
)
|
|
20
|
+
|
|
21
|
+
SET(_MBEDTLS_ROOT_HINTS_AND_PATHS
|
|
22
|
+
HINTS ${_MBEDTLS_ROOT_HINTS}
|
|
23
|
+
PATHS ${_MBEDTLS_ROOT_PATHS}
|
|
24
|
+
)
|
|
25
|
+
|
|
26
|
+
FIND_PATH(MBEDTLS_INCLUDE_DIR
|
|
27
|
+
NAMES mbedtls/version.h
|
|
28
|
+
${_MBEDTLS_ROOT_HINTS_AND_PATHS}
|
|
29
|
+
PATH_SUFFIXES include
|
|
30
|
+
)
|
|
31
|
+
|
|
32
|
+
IF(MBEDTLS_INCLUDE_DIR AND MBEDTLS_LIBRARIES)
|
|
33
|
+
# Already in cache, be silent
|
|
34
|
+
SET(MBEDTLS_FIND_QUIETLY TRUE)
|
|
35
|
+
ENDIF()
|
|
36
|
+
|
|
37
|
+
FIND_LIBRARY(MBEDTLS_LIBRARY
|
|
38
|
+
NAMES mbedtls libmbedtls
|
|
39
|
+
${_MBEDTLS_ROOT_HINTS_AND_PATHS}
|
|
40
|
+
PATH_SUFFIXES library
|
|
41
|
+
)
|
|
42
|
+
FIND_LIBRARY(MBEDX509_LIBRARY
|
|
43
|
+
NAMES mbedx509 libmbedx509
|
|
44
|
+
${_MBEDTLS_ROOT_HINTS_AND_PATHS}
|
|
45
|
+
PATH_SUFFIXES library
|
|
46
|
+
)
|
|
47
|
+
FIND_LIBRARY(MBEDCRYPTO_LIBRARY
|
|
48
|
+
NAMES mbedcrypto libmbedcrypto
|
|
49
|
+
${_MBEDTLS_ROOT_HINTS_AND_PATHS}
|
|
50
|
+
PATH_SUFFIXES library
|
|
51
|
+
)
|
|
52
|
+
|
|
53
|
+
IF(MBEDTLS_INCLUDE_DIR AND MBEDTLS_LIBRARY AND MBEDX509_LIBRARY AND MBEDCRYPTO_LIBRARY)
|
|
54
|
+
SET(MBEDTLS_FOUND TRUE)
|
|
55
|
+
ENDIF()
|
|
56
|
+
|
|
57
|
+
IF(MBEDTLS_FOUND)
|
|
58
|
+
# split mbedTLS into -L and -l linker options, so we can set them for pkg-config
|
|
59
|
+
GET_FILENAME_COMPONENT(MBEDTLS_LIBRARY_DIR ${MBEDTLS_LIBRARY} PATH)
|
|
60
|
+
GET_FILENAME_COMPONENT(MBEDTLS_LIBRARY_FILE ${MBEDTLS_LIBRARY} NAME_WE)
|
|
61
|
+
GET_FILENAME_COMPONENT(MBEDX509_LIBRARY_FILE ${MBEDX509_LIBRARY} NAME_WE)
|
|
62
|
+
GET_FILENAME_COMPONENT(MBEDCRYPTO_LIBRARY_FILE ${MBEDCRYPTO_LIBRARY} NAME_WE)
|
|
63
|
+
STRING(REGEX REPLACE "^lib" "" MBEDTLS_LIBRARY_FILE ${MBEDTLS_LIBRARY_FILE})
|
|
64
|
+
STRING(REGEX REPLACE "^lib" "" MBEDX509_LIBRARY_FILE ${MBEDX509_LIBRARY_FILE})
|
|
65
|
+
STRING(REGEX REPLACE "^lib" "" MBEDCRYPTO_LIBRARY_FILE ${MBEDCRYPTO_LIBRARY_FILE})
|
|
66
|
+
SET(MBEDTLS_LIBRARIES "-L${MBEDTLS_LIBRARY_DIR} -l${MBEDTLS_LIBRARY_FILE} -l${MBEDX509_LIBRARY_FILE} -l${MBEDCRYPTO_LIBRARY_FILE}")
|
|
67
|
+
|
|
68
|
+
IF(NOT MBEDTLS_FIND_QUIETLY)
|
|
69
|
+
MESSAGE(STATUS "Found mbedTLS:")
|
|
70
|
+
FILE(READ ${MBEDTLS_INCLUDE_DIR}/mbedtls/version.h MBEDTLSCONTENT)
|
|
71
|
+
STRING(REGEX MATCH "MBEDTLS_VERSION_STRING +\"[0-9|.]+\"" MBEDTLSMATCH ${MBEDTLSCONTENT})
|
|
72
|
+
IF (MBEDTLSMATCH)
|
|
73
|
+
STRING(REGEX REPLACE "MBEDTLS_VERSION_STRING +\"([0-9|.]+)\"" "\\1" MBEDTLS_VERSION ${MBEDTLSMATCH})
|
|
74
|
+
MESSAGE(STATUS " version ${MBEDTLS_VERSION}")
|
|
75
|
+
ENDIF(MBEDTLSMATCH)
|
|
76
|
+
MESSAGE(STATUS " TLS: ${MBEDTLS_LIBRARY}")
|
|
77
|
+
MESSAGE(STATUS " X509: ${MBEDX509_LIBRARY}")
|
|
78
|
+
MESSAGE(STATUS " Crypto: ${MBEDCRYPTO_LIBRARY}")
|
|
79
|
+
ENDIF(NOT MBEDTLS_FIND_QUIETLY)
|
|
80
|
+
ELSE(MBEDTLS_FOUND)
|
|
81
|
+
IF(MBEDTLS_FIND_REQUIRED)
|
|
82
|
+
MESSAGE(FATAL_ERROR "Could not find mbedTLS")
|
|
83
|
+
ENDIF(MBEDTLS_FIND_REQUIRED)
|
|
84
|
+
ENDIF(MBEDTLS_FOUND)
|
|
85
|
+
|
|
86
|
+
MARK_AS_ADVANCED(
|
|
87
|
+
MBEDTLS_INCLUDE_DIR
|
|
88
|
+
MBEDTLS_LIBRARY_DIR
|
|
89
|
+
MBEDTLS_LIBRARIES
|
|
90
|
+
MBEDTLS_LIBRARY
|
|
91
|
+
MBEDX509_LIBRARY
|
|
92
|
+
MBEDCRYPTO_LIBRARY
|
|
93
|
+
)
|
|
@@ -186,6 +186,22 @@ GIT_EXTERN(int) git_attr_get_many(
|
|
|
186
186
|
size_t num_attr,
|
|
187
187
|
const char **names);
|
|
188
188
|
|
|
189
|
+
/**
|
|
190
|
+
* The callback used with git_attr_foreach.
|
|
191
|
+
*
|
|
192
|
+
* This callback will be invoked only once per attribute name, even if there
|
|
193
|
+
* are multiple rules for a given file. The highest priority rule will be
|
|
194
|
+
* used.
|
|
195
|
+
*
|
|
196
|
+
* @see git_attr_foreach.
|
|
197
|
+
*
|
|
198
|
+
* @param name The attribute name.
|
|
199
|
+
* @param value The attribute value. May be NULL if the attribute is explicitly
|
|
200
|
+
* set to UNSPECIFIED using the '!' sign.
|
|
201
|
+
* @param payload A user-specified pointer.
|
|
202
|
+
* @return 0 to continue looping, non-zero to stop. This value will be returned
|
|
203
|
+
* from git_attr_foreach.
|
|
204
|
+
*/
|
|
189
205
|
typedef int (*git_attr_foreach_cb)(const char *name, const char *value, void *payload);
|
|
190
206
|
|
|
191
207
|
/**
|
|
@@ -196,13 +212,8 @@ typedef int (*git_attr_foreach_cb)(const char *name, const char *value, void *pa
|
|
|
196
212
|
* @param path Path inside the repo to check attributes. This does not have
|
|
197
213
|
* to exist, but if it does not, then it will be treated as a
|
|
198
214
|
* plain file (i.e. not a directory).
|
|
199
|
-
* @param callback Function to invoke on each attribute name and value.
|
|
200
|
-
*
|
|
201
|
-
* UNSPECIFIED using the '!' sign. Callback will be invoked
|
|
202
|
-
* only once per attribute name, even if there are multiple
|
|
203
|
-
* rules for a given file. The highest priority rule will be
|
|
204
|
-
* used. Return a non-zero value from this to stop looping.
|
|
205
|
-
* The value will be returned from `git_attr_foreach`.
|
|
215
|
+
* @param callback Function to invoke on each attribute name and value.
|
|
216
|
+
* See git_attr_foreach_cb.
|
|
206
217
|
* @param payload Passed on as extra parameter to callback function.
|
|
207
218
|
* @return 0 on success, non-zero callback return value, or error code
|
|
208
219
|
*/
|
|
@@ -43,38 +43,47 @@ typedef enum {
|
|
|
43
43
|
/** Restrict the search of commits to those reachable following only the
|
|
44
44
|
* first parents. */
|
|
45
45
|
GIT_BLAME_FIRST_PARENT = (1<<4),
|
|
46
|
+
/** Use mailmap file to map author and committer names and email addresses
|
|
47
|
+
* to canonical real names and email addresses. The mailmap will be read
|
|
48
|
+
* from the working directory, or HEAD in a bare repository. */
|
|
49
|
+
GIT_BLAME_USE_MAILMAP = (1<<5),
|
|
46
50
|
} git_blame_flag_t;
|
|
47
51
|
|
|
48
52
|
/**
|
|
49
53
|
* Blame options structure
|
|
50
54
|
*
|
|
51
|
-
*
|
|
52
|
-
* `
|
|
53
|
-
* git_blame_options opts = GIT_BLAME_OPTIONS_INIT;
|
|
55
|
+
* Initialize with `GIT_BLAME_OPTIONS_INIT`. Alternatively, you can
|
|
56
|
+
* use `git_blame_init_options`.
|
|
54
57
|
*
|
|
55
|
-
* - `flags` is a combination of the `git_blame_flag_t` values above.
|
|
56
|
-
* - `min_match_characters` is the lower bound on the number of alphanumeric
|
|
57
|
-
* characters that must be detected as moving/copying within a file for it to
|
|
58
|
-
* associate those lines with the parent commit. The default value is 20.
|
|
59
|
-
* This value only takes effect if any of the `GIT_BLAME_TRACK_COPIES_*`
|
|
60
|
-
* flags are specified.
|
|
61
|
-
* - `newest_commit` is the id of the newest commit to consider. The default
|
|
62
|
-
* is HEAD.
|
|
63
|
-
* - `oldest_commit` is the id of the oldest commit to consider. The default
|
|
64
|
-
* is the first commit encountered with a NULL parent.
|
|
65
|
-
* - `min_line` is the first line in the file to blame. The default is 1 (line
|
|
66
|
-
* numbers start with 1).
|
|
67
|
-
* - `max_line` is the last line in the file to blame. The default is the last
|
|
68
|
-
* line of the file.
|
|
69
58
|
*/
|
|
70
59
|
typedef struct git_blame_options {
|
|
71
60
|
unsigned int version;
|
|
72
61
|
|
|
62
|
+
/** A combination of `git_blame_flag_t` */
|
|
73
63
|
uint32_t flags;
|
|
64
|
+
/** The lower bound on the number of alphanumeric
|
|
65
|
+
* characters that must be detected as moving/copying within a file for it to
|
|
66
|
+
* associate those lines with the parent commit. The default value is 20.
|
|
67
|
+
* This value only takes effect if any of the `GIT_BLAME_TRACK_COPIES_*`
|
|
68
|
+
* flags are specified.
|
|
69
|
+
*/
|
|
74
70
|
uint16_t min_match_characters;
|
|
71
|
+
/** The id of the newest commit to consider. The default is HEAD. */
|
|
75
72
|
git_oid newest_commit;
|
|
73
|
+
/**
|
|
74
|
+
* The id of the oldest commit to consider.
|
|
75
|
+
* The default is the first commit encountered with a NULL parent.
|
|
76
|
+
*/
|
|
76
77
|
git_oid oldest_commit;
|
|
78
|
+
/**
|
|
79
|
+
* The first line in the file to blame.
|
|
80
|
+
* The default is 1 (line numbers start with 1).
|
|
81
|
+
*/
|
|
77
82
|
size_t min_line;
|
|
83
|
+
/**
|
|
84
|
+
* The last line in the file to blame.
|
|
85
|
+
* The default is the last line of the file.
|
|
86
|
+
*/
|
|
78
87
|
size_t max_line;
|
|
79
88
|
} git_blame_options;
|
|
80
89
|
|
|
@@ -82,11 +91,13 @@ typedef struct git_blame_options {
|
|
|
82
91
|
#define GIT_BLAME_OPTIONS_INIT {GIT_BLAME_OPTIONS_VERSION}
|
|
83
92
|
|
|
84
93
|
/**
|
|
85
|
-
*
|
|
86
|
-
* creating an instance with GIT_BLAME_OPTIONS_INIT.
|
|
94
|
+
* Initialize git_blame_options structure
|
|
87
95
|
*
|
|
88
|
-
*
|
|
89
|
-
*
|
|
96
|
+
* Initializes a `git_blame_options` with default values. Equivalent to creating
|
|
97
|
+
* an instance with GIT_BLAME_OPTIONS_INIT.
|
|
98
|
+
*
|
|
99
|
+
* @param opts The `git_blame_options` struct to initialize.
|
|
100
|
+
* @param version The struct version; pass `GIT_BLAME_OPTIONS_VERSION`.
|
|
90
101
|
* @return Zero on success; -1 on failure.
|
|
91
102
|
*/
|
|
92
103
|
GIT_EXTERN(int) git_blame_init_options(
|
|
@@ -101,6 +112,9 @@ GIT_EXTERN(int) git_blame_init_options(
|
|
|
101
112
|
* changed.
|
|
102
113
|
* - `final_start_line_number` is the 1-based line number where this hunk
|
|
103
114
|
* begins, in the final version of the file
|
|
115
|
+
* - `final_signature` is the author of `final_commit_id`. If
|
|
116
|
+
* `GIT_BLAME_USE_MAILMAP` has been specified, it will contain the canonical
|
|
117
|
+
* real name and email address.
|
|
104
118
|
* - `orig_commit_id` is the OID of the commit where this hunk was found. This
|
|
105
119
|
* will usually be the same as `final_commit_id`, except when
|
|
106
120
|
* `GIT_BLAME_TRACK_COPIES_ANY_COMMIT_COPIES` has been specified.
|
|
@@ -109,6 +123,9 @@ GIT_EXTERN(int) git_blame_init_options(
|
|
|
109
123
|
* - `orig_start_line_number` is the 1-based line number where this hunk begins
|
|
110
124
|
* in the file named by `orig_path` in the commit specified by
|
|
111
125
|
* `orig_commit_id`.
|
|
126
|
+
* - `orig_signature` is the author of `orig_commit_id`. If
|
|
127
|
+
* `GIT_BLAME_USE_MAILMAP` has been specified, it will contain the canonical
|
|
128
|
+
* real name and email address.
|
|
112
129
|
* - `boundary` is 1 iff the hunk has been tracked to a boundary commit (the
|
|
113
130
|
* root, or the commit specified in git_blame_options.oldest_commit)
|
|
114
131
|
*/
|
|
@@ -128,7 +145,7 @@ typedef struct git_blame_hunk {
|
|
|
128
145
|
} git_blame_hunk;
|
|
129
146
|
|
|
130
147
|
|
|
131
|
-
|
|
148
|
+
/** Opaque structure to hold blame results */
|
|
132
149
|
typedef struct git_blame git_blame;
|
|
133
150
|
|
|
134
151
|
/**
|
|
@@ -105,7 +105,7 @@ GIT_EXTERN(git_off_t) git_blob_rawsize(const git_blob *blob);
|
|
|
105
105
|
* attributes set for the blob and the content detected in it.
|
|
106
106
|
*
|
|
107
107
|
* The output is written into a `git_buf` which the caller must free
|
|
108
|
-
* when done (via `
|
|
108
|
+
* when done (via `git_buf_dispose`).
|
|
109
109
|
*
|
|
110
110
|
* If no filters need to be applied, then the `out` buffer will just
|
|
111
111
|
* be populated with a pointer to the raw content of the blob. In
|
|
@@ -278,7 +278,7 @@ GIT_EXTERN(int) git_branch_remote_name(
|
|
|
278
278
|
|
|
279
279
|
|
|
280
280
|
/**
|
|
281
|
-
* Retrieve the name
|
|
281
|
+
* Retrieve the name of the upstream remote of a local branch
|
|
282
282
|
*
|
|
283
283
|
* @param buf the buffer into which to write the name
|
|
284
284
|
* @param repo the repository in which to look
|
|
@@ -25,7 +25,7 @@ GIT_BEGIN_DECL
|
|
|
25
25
|
* caller and have the caller take responsibility for freeing that memory.
|
|
26
26
|
* This can be awkward if the caller does not have easy access to the same
|
|
27
27
|
* allocation functions that libgit2 is using. In those cases, libgit2
|
|
28
|
-
* will fill in a `git_buf` and the caller can use `
|
|
28
|
+
* will fill in a `git_buf` and the caller can use `git_buf_dispose()` to
|
|
29
29
|
* release it when they are done.
|
|
30
30
|
*
|
|
31
31
|
* A `git_buf` may also be used for the caller to pass in a reference to
|
|
@@ -69,7 +69,19 @@ typedef struct {
|
|
|
69
69
|
*
|
|
70
70
|
* @param buffer The buffer to deallocate
|
|
71
71
|
*/
|
|
72
|
-
GIT_EXTERN(void)
|
|
72
|
+
GIT_EXTERN(void) git_buf_dispose(git_buf *buffer);
|
|
73
|
+
|
|
74
|
+
/**
|
|
75
|
+
* Alias of `git_buf_dispose`.
|
|
76
|
+
*
|
|
77
|
+
* This function is directly calls `git_buf_dispose` now and is deprecated.
|
|
78
|
+
* Going forward, we refer to functions freeing the internal state of a
|
|
79
|
+
* structure a `dispose` function, while functions freeing the structure
|
|
80
|
+
* themselves will be called a `free` function.
|
|
81
|
+
*
|
|
82
|
+
* This function is going to be removed in v0.30.0.
|
|
83
|
+
*/
|
|
84
|
+
GIT_EXTERN(void) GIT_DEPRECATED(git_buf_free)(git_buf *buffer);
|
|
73
85
|
|
|
74
86
|
/**
|
|
75
87
|
* Resize the buffer allocation to make more space.
|
|
@@ -243,15 +243,14 @@ typedef void (*git_checkout_perfdata_cb)(
|
|
|
243
243
|
/**
|
|
244
244
|
* Checkout options structure
|
|
245
245
|
*
|
|
246
|
-
*
|
|
247
|
-
*
|
|
246
|
+
* Initialize with `GIT_CHECKOUT_OPTIONS_INIT`. Alternatively, you can
|
|
247
|
+
* use `git_checkout_init_options`.
|
|
248
248
|
*
|
|
249
|
-
* git_checkout_options opts = GIT_CHECKOUT_OPTIONS_INIT;
|
|
250
249
|
*/
|
|
251
250
|
typedef struct git_checkout_options {
|
|
252
251
|
unsigned int version;
|
|
253
252
|
|
|
254
|
-
unsigned int checkout_strategy; /**< default will be a
|
|
253
|
+
unsigned int checkout_strategy; /**< default will be a safe checkout */
|
|
255
254
|
|
|
256
255
|
int disable_filters; /**< don't apply filters like CRLF conversion */
|
|
257
256
|
unsigned int dir_mode; /**< default is 0755 */
|
|
@@ -295,16 +294,18 @@ typedef struct git_checkout_options {
|
|
|
295
294
|
} git_checkout_options;
|
|
296
295
|
|
|
297
296
|
#define GIT_CHECKOUT_OPTIONS_VERSION 1
|
|
298
|
-
#define GIT_CHECKOUT_OPTIONS_INIT {GIT_CHECKOUT_OPTIONS_VERSION}
|
|
297
|
+
#define GIT_CHECKOUT_OPTIONS_INIT {GIT_CHECKOUT_OPTIONS_VERSION, GIT_CHECKOUT_SAFE}
|
|
299
298
|
|
|
300
299
|
/**
|
|
301
|
-
*
|
|
302
|
-
*
|
|
303
|
-
*
|
|
304
|
-
*
|
|
305
|
-
*
|
|
306
|
-
* @
|
|
307
|
-
|
|
300
|
+
* Initialize git_checkout_options structure
|
|
301
|
+
*
|
|
302
|
+
* Initializes a `git_checkout_options` with default values. Equivalent to creating
|
|
303
|
+
* an instance with GIT_CHECKOUT_OPTIONS_INIT.
|
|
304
|
+
*
|
|
305
|
+
* @param opts The `git_checkout_options` struct to initialize.
|
|
306
|
+
* @param version The struct version; pass `GIT_CHECKOUT_OPTIONS_VERSION`.
|
|
307
|
+
* @return Zero on success; -1 on failure.
|
|
308
|
+
*/
|
|
308
309
|
GIT_EXTERN(int) git_checkout_init_options(
|
|
309
310
|
git_checkout_options *opts,
|
|
310
311
|
unsigned int version);
|
|
@@ -37,11 +37,13 @@ typedef struct {
|
|
|
37
37
|
#define GIT_CHERRYPICK_OPTIONS_INIT {GIT_CHERRYPICK_OPTIONS_VERSION, 0, GIT_MERGE_OPTIONS_INIT, GIT_CHECKOUT_OPTIONS_INIT}
|
|
38
38
|
|
|
39
39
|
/**
|
|
40
|
-
*
|
|
41
|
-
* creating an instance with GIT_CHERRYPICK_OPTIONS_INIT.
|
|
40
|
+
* Initialize git_cherrypick_options structure
|
|
42
41
|
*
|
|
43
|
-
*
|
|
44
|
-
*
|
|
42
|
+
* Initializes a `git_cherrypick_options` with default values. Equivalent to creating
|
|
43
|
+
* an instance with GIT_CHERRYPICK_OPTIONS_INIT.
|
|
44
|
+
*
|
|
45
|
+
* @param opts The `git_cherrypick_options` struct to initialize.
|
|
46
|
+
* @param version The struct version; pass `GIT_CHERRYPICK_OPTIONS_VERSION`.
|
|
45
47
|
* @return Zero on success; -1 on failure.
|
|
46
48
|
*/
|
|
47
49
|
GIT_EXTERN(int) git_cherrypick_init_options(
|
|
@@ -96,9 +96,9 @@ typedef int (*git_repository_create_cb)(
|
|
|
96
96
|
/**
|
|
97
97
|
* Clone options structure
|
|
98
98
|
*
|
|
99
|
-
*
|
|
99
|
+
* Initialize with `GIT_CLONE_OPTIONS_INIT`. Alternatively, you can
|
|
100
|
+
* use `git_clone_init_options`.
|
|
100
101
|
*
|
|
101
|
-
* git_clone_options opts = GIT_CLONE_OPTIONS_INIT;
|
|
102
102
|
*/
|
|
103
103
|
typedef struct git_clone_options {
|
|
104
104
|
unsigned int version;
|
|
@@ -169,11 +169,13 @@ typedef struct git_clone_options {
|
|
|
169
169
|
GIT_FETCH_OPTIONS_INIT }
|
|
170
170
|
|
|
171
171
|
/**
|
|
172
|
-
*
|
|
173
|
-
* creating an instance with GIT_CLONE_OPTIONS_INIT.
|
|
172
|
+
* Initialize git_clone_options structure
|
|
174
173
|
*
|
|
175
|
-
*
|
|
176
|
-
*
|
|
174
|
+
* Initializes a `git_clone_options` with default values. Equivalent to creating
|
|
175
|
+
* an instance with GIT_CLONE_OPTIONS_INIT.
|
|
176
|
+
*
|
|
177
|
+
* @param opts The `git_clone_options` struct to initialize.
|
|
178
|
+
* @param version The struct version; pass `GIT_CLONE_OPTIONS_VERSION`.
|
|
177
179
|
* @return Zero on success; -1 on failure.
|
|
178
180
|
*/
|
|
179
181
|
GIT_EXTERN(int) git_clone_init_options(
|
|
@@ -172,6 +172,34 @@ GIT_EXTERN(const git_signature *) git_commit_committer(const git_commit *commit)
|
|
|
172
172
|
*/
|
|
173
173
|
GIT_EXTERN(const git_signature *) git_commit_author(const git_commit *commit);
|
|
174
174
|
|
|
175
|
+
/**
|
|
176
|
+
* Get the committer of a commit, using the mailmap to map names and email
|
|
177
|
+
* addresses to canonical real names and email addresses.
|
|
178
|
+
*
|
|
179
|
+
* Call `git_signature_free` to free the signature.
|
|
180
|
+
*
|
|
181
|
+
* @param out a pointer to store the resolved signature.
|
|
182
|
+
* @param commit a previously loaded commit.
|
|
183
|
+
* @param mailmap the mailmap to resolve with. (may be NULL)
|
|
184
|
+
* @return 0 or an error code
|
|
185
|
+
*/
|
|
186
|
+
GIT_EXTERN(int) git_commit_committer_with_mailmap(
|
|
187
|
+
git_signature **out, const git_commit *commit, const git_mailmap *mailmap);
|
|
188
|
+
|
|
189
|
+
/**
|
|
190
|
+
* Get the author of a commit, using the mailmap to map names and email
|
|
191
|
+
* addresses to canonical real names and email addresses.
|
|
192
|
+
*
|
|
193
|
+
* Call `git_signature_free` to free the signature.
|
|
194
|
+
*
|
|
195
|
+
* @param out a pointer to store the resolved signature.
|
|
196
|
+
* @param commit a previously loaded commit.
|
|
197
|
+
* @param mailmap the mailmap to resolve with. (may be NULL)
|
|
198
|
+
* @return 0 or an error code
|
|
199
|
+
*/
|
|
200
|
+
GIT_EXTERN(int) git_commit_author_with_mailmap(
|
|
201
|
+
git_signature **out, const git_commit *commit, const git_mailmap *mailmap);
|
|
202
|
+
|
|
175
203
|
/**
|
|
176
204
|
* Get the full raw text of the commit header.
|
|
177
205
|
*
|