- 16 Apr, 2018 3 commits
-
-
transports: ssh: disconnect session before freeing it
Edward Thomson committed -
revwalk: fix uninteresting revs sometimes not limiting graphwalk
Edward Thomson committed -
attr_file: fix handling of directory patterns with trailing spaces
Edward Thomson committed
-
- 12 Apr, 2018 3 commits
-
-
When we want to limit our graphwalk, we use the heuristic of checking whether the newest limiting (uninteresting) revision is newer than the oldest interesting revision. We do so by inspecting whether the first item's commit time of the user-supplied list of revisions is newer than the last added interesting revision. This is wrong though, as the user supplied list is in no way guaranteed to be sorted by increasing commit dates. This could lead us to abort the revwalk early before applying all relevant limiting revisions, outputting revisions which should in fact have been hidden. Fix the heuristic by instead checking whether _any_ of the limiting commits was made earlier than the last interesting commit. Add a test.
Patrick Steinhardt committed -
transports: local: fix assert when fetching into repo with symrefs
Patrick Steinhardt committed -
When comparing whether a path matches a directory rule, we pass the both the path and directory name to `fnmatch` with `GIT_ATTR_FNMATCH_DIRECTORY` being set. `fnmatch` expects the pattern to contain no trailing directory '/', which is why we try to always strip patterns of trailing slashes. We do not handle that case correctly though when the pattern itself has trailing spaces, causing the match to fail. Fix the issue by stripping trailing spaces and tabs for a rule previous to checking whether the pattern is a directory pattern with a trailing '/'. This replaces the whitespace-stripping in our ignore file parsing code, which was stripping whitespaces too late. Add a test to catch future breakage.
Patrick Steinhardt committed
-
- 06 Apr, 2018 5 commits
-
-
When fetching into a repository which has symbolic references via the "local" transport we run into an assert. The assert is being triggered while we negotiate the packfile between the two repositories. When hiding known revisions from the packbuilder revwalk, we unconditionally hide all references of the local refdb. In case one of these references is a symbolic reference, though, this means we're trying to hide a `NULL` OID, which triggers the assert. Fix the issue by only hiding OID references from the revwalk. Add a test to catch this issue in the future.
Patrick Steinhardt committed -
remote/proxy: fix git_transport_certificate_check_db description
Patrick Steinhardt committed -
Flag options in describe.h as being optional
Patrick Steinhardt committed -
diff: Add missing GIT_DELTA_TYPECHANGE -> 'T' mapping.
Patrick Steinhardt committed -
appveyor: fix typo in registry key to disable DHE
Patrick Steinhardt committed
-
- 05 Apr, 2018 2 commits
-
-
Erik van Zijst committed
-
This adds the 'T' status character to git_diff_status_char() for diff entries that change type.
Erik van Zijst committed
-
- 03 Apr, 2018 4 commits
-
-
Commit 723e1e97 (appveyor: disable DHE to avoid spurious failures, 2018-03-29) added a workaround to fix spurious test failures due to a bug in Windows' SChannel implementation. The workaround only worked by accident, though, as the registry key was in fact mistyped. Fix the typo.
Patrick Steinhardt committed -
Fix build with LibreSSL 2.7
Patrick Steinhardt committed -
appveyor: workaround for intermittent test failures
Patrick Steinhardt committed -
sha1dc: update to fix errors with endianess
Patrick Steinhardt committed
-
- 02 Apr, 2018 1 commit
-
-
LibreSSL 2.7 adds OpenSSL 1.1 API Signed-off-by: Bernard Spil <brnrd@FreeBSD.org>
Bernard Spil committed
-
- 30 Mar, 2018 1 commit
-
-
submodule: check index for path and prefix before adding submodule
Patrick Steinhardt committed
-
- 29 Mar, 2018 4 commits
-
-
odb: mempack: fix leaking objects when freeing mempacks
Edward Thomson committed -
Our CI builds have intermittent failures in our online tests, e.g. with the message "A provided buffer was too small". This is not a programming error in libgit2 but rather an error in the SChannel component of Windows. Under certain circumstances involving Diffie-Hellman key exchange, SChannel is unable to correctly handle input from the server. This bug has already been fixed in recent patches for Windows 10 and Windows Server 2016, but they are not yet available for AppVeyor. Manually pamper over that issue by disabling all ciphersuites using DHE via the registry. While this disables more ciphers than necessary, we really don't care for that at all but just want to avoid build failures due to that bug. See [1], [2] or [3] for additional information. 1: https://github.com/aws/aws-sdk-cpp/issues/671 2: https://github.com/dotnet/corefx/issues/7812 3: https://support.microsoft.com/en-us/help/2992611/ms14-066-vulnerability-in-schannel-could-allow-remote-code-execution-n
Patrick Steinhardt committed -
There are multiple references to undefined functions in the Microsoft builds. Add headers to make them known.
Patrick Steinhardt committed -
When a ODB mempack gets free'd, we take no measures at all to free its contents, most notably the objects added to the database, resulting in a memory leak. Call `git_mempack_reset` previous to freeing the ODB structures themselves, which takes care of releasing all associated data structures.
Patrick Steinhardt committed
-
- 28 Mar, 2018 3 commits
-
-
This updates the version of SHA1DC to c3e1304ea3.
bgermann committed -
Carson Howard committed
-
types: remove unused git_merge_result
Patrick Steinhardt committed
-
- 27 Mar, 2018 14 commits
-
-
`git_merge_result` is currently unused in the codebase and generates a blank page in the [documentation](https://libgit2.github.com/libgit2/#HEAD/type/git_merge_result).
Carson Howard committed -
Carson Howard committed
-
Carson Howard committed
-
Carson Howard committed
-
Carson Howard committed
-
Carson Howard committed
-
Carson Howard committed
-
Carson Howard committed
-
Carson Howard committed
-
submodule: check path and prefix before adding submodule submodule: fix test errors
Carson Howard committed -
The function `libssh2_session_startup` has been deprecated since libssh2 version 1.2.8 in favor of `libssh2_session_handshake` introduced in the same version. libssh2 1.2.8 was released in April 2011, so it is already seven years old. It is available in Debian Wheezy, Ubuntu Trusty and CentOS 7.4, so the most important and conservative distros already have it available. As such, it seems safe to just use the new function.
Patrick Steinhardt committed -
The function `ssh_stream_free` takes over the responsibility of closing channels and streams just before freeing their memory, but it does not do so for the session. In fact, we never disconnect the session ourselves at all, as libssh2 will not do so itself upon freeing the structure. Quoting the documentation of `libssh2_session_free`: > Frees all resources associated with a session instance. Typically > called after libssh2_session_disconnect_ex, The missing disconnect probably stems from a misunderstanding what it actually does. As we are already closing the TCP socket ourselves, the assumption was that no additional disconnect is required. But calling `libssh2_session_disconnect` will notify the server that we are cleanly closing the connection, such that the server can free his own resources. Add a call to `libssh2_session_disconnect` to fix that issue. [1]: https://www.libssh2.org/libssh2_session_free.html
Patrick Steinhardt committed -
The git_describe_options in git_describe_commit and git_describe_workdir and the git_describe_format_options in git_describe_format are optional and can be NULL. State this in the documentation to make people's lives easier when calling these functions. Signed-off-by: Remy Suen <remy.suen@gmail.com>
Remy Suen committed -
checkout: change default strategy to SAFE
Edward Thomson committed
-