- 24 Jan, 2020 11 commits
-
-
This conditional was backwards. We should instead test that clone returns 4321, not that 4321 returns clone.
Edward Thomson committed -
Edward Thomson committed
-
Edward Thomson committed
-
Disposal pattern; dispose on completion, allowing us to retry authentication, which may happen on web servers that close connection-based authenticated sessions (NTLM/SPNEGO) unexpectedly.
Edward Thomson committed -
When USE_GSSAPI=OFF, still show information about what SPNEGO is, even though it's disabled. This is for parity with other disabled features like SSH and debugpool that still show details about what is disabled.
Edward Thomson committed -
Jonathan Turcotte committed
-
Edward Thomson committed
-
The GSS_ERROR(x) macro may expand to `(x & value)` on some implementations, instead of `((x) & value)`. This is the case on macOS, which means that if we attempt to wrap an expression in that macro, like `a = b`, then that would expand to `(a = b & value)`. Since `&` has a higher precedence, this is not at all what we want, and will set our result code to an incorrect value. Evaluate the expression then test it with `GSS_ERROR` independently to avoid this.
Edward Thomson committed -
Edward Thomson committed
-
Attempt to obtain a Kerberos ticket from LIBGIT2.ORG and then clone the Negotiate-protected site at test.libgit2.org with that ticket.
Edward Thomson committed -
internal types: change enums from `type_t` to `_t`
Patrick Steinhardt committed
-
- 18 Jan, 2020 4 commits
-
-
libgit2 does not use `type_t` suffixes as it's redundant; thus, rename `git_http_authtype_t` to `git_http_auth_t` for consistency.
Edward Thomson committed -
libgit2 does not use `type_t` suffixes as it's redundant; thus, rename `git_iterator_type_t` to `git_iterator_t` for consistency.
Edward Thomson committed -
libgit2 does not use `type_t` suffixes as it's redundant; thus, rename `git_rebase_type_t` to `git_rebase_t` for consistency.
Edward Thomson committed -
libgit2 does not use `type_t` suffixes as it's redundant; thus, rename `git_merge_diff_type_t` to `git_merge_diff_t` for consistency.
Edward Thomson committed
-
- 17 Jan, 2020 3 commits
-
-
merge: Return non-const git_repository from accessor method
Patrick Steinhardt committed -
Do not return free'd git_repository object on error
Patrick Steinhardt committed -
refs: refuse to delete HEAD
Patrick Steinhardt committed
-
- 16 Jan, 2020 2 commits
-
-
index: replace map macros with inline functions
Edward Thomson committed -
Regression introduced in commit dde6d9c7. This issue causes lots of crashes in TortoiseGit. Signed-off-by: Sven Strickroth <email@cs-ware.de>
Sven Strickroth committed
-
- 15 Jan, 2020 4 commits
-
-
This requires adding a new symbolic ref to the testrepo fixture. Some of the existing tests attempt to delete HEAD, expecting a different failure. Introduce and use a non-HEAD symbolic ref instead. Adjust a few other tests as needed. Fixes #5357
Josh Bleecher Snyder committed -
Make type mismatch errors consistent
Edward Thomson committed -
Tobias Nießen committed
-
Laurence McGlashan committed
-
- 14 Jan, 2020 2 commits
-
-
Depending on whether the index map is case-sensitive or insensitive, we need to call either `git_idxmap_icase_resize` or `git_idxmap_resize`. There are multiple locations where we thus use the following pattern: if (index->ignore_case && git_idxmap_icase_resize(map, length) < 0) return -1; else if (git_idxmap_resize(map, length) < 0) return -1; The funny thing is: on case-insensitive systems, we will try to resize the map twice in case where `git_idxmap_icase_resize()` doesn't error. While this will still use the correct hashing function as both map types use the same, this bug will at least cause us to resize the map twice in a row. Fix the issue by introducing a new function `index_map_resize` that handles case-sensitivity, similar to how `index_map_set` and `index_map_delete`. Convert all call sites where we were previously resizing the map to use that new function.
Patrick Steinhardt committed -
Traditionally, our maps were mostly implemented via macros that had weird call semantics. This shows in our index code, where we have macros that insert into an index map case-sensitively or insensitively, as they still return error codes via an error parameter. This is unwieldy and, most importantly, not necessary anymore, due to the introduction of our high-level map API and removal of macros. Replace them with inlined functions to make code easier to read.
Patrick Steinhardt committed
-
- 12 Jan, 2020 1 commit
-
-
win32: fix relative symlinks pointing into dirs
Edward Thomson committed
-
- 10 Jan, 2020 4 commits
-
-
ntlm: prevent (spurious) compiler warnings
Edward Thomson committed -
Adds support for multiple SSH auth mechanisms being used sequentially
Patrick Steinhardt committed -
On Windows platforms, we need some logic to emulate symlink(3P) defined by POSIX. As unprivileged symlinks on Windows are a rather new feature, our current implementation is comparatively new and still has some rough edges in special cases. One such case is relative symlinks. While relative symlinks to files in the same directory work as expected, libgit2 currently fails to create reltaive symlinks pointing into other directories. This is due to the fact that we forgot to translate the Unix-style target path to Windows-style. Most importantly, we are currently not converting directory separators from "/" to "\". Fix the issue by calling `git_win32_path_canonicalize` on the target. Add a test that verifies our ability to create such relative links across directories.
Patrick Steinhardt committed -
netops: handle intact query parameters in service_suffix removal
Patrick Steinhardt committed
-
- 09 Jan, 2020 6 commits
-
-
Pull in commit https://github.com/ethomson/ntlmclient/commit/e7b2583e1bc28c33c43854e7c318e859b4e83bef to fix #5353.
Josh Bleecher Snyder committed -
Some servers leave the query parameters intact in the Location header when responding with a redirect. The service_suffix removal check as written assumed that the server removed them. Handle both cases. Along with PR #5325, this fixes #5321. There are two new tests. The first already passed; the second previously failed.
Josh Bleecher Snyder committed -
Refactor packfile code to use zstream abstraction
Edward Thomson committed -
Patrick Steinhardt committed
-
While we do have a `git_zstream` abstraction that encapsulates all the calls to zlib as well as its error handling, we do not use it in our pack file code. Refactor it to make the code a lot easier to understand.
Patrick Steinhardt committed -
While we do have a zstream abstraction that encapsulates all the calls to zlib as well as its error handling, we do not use it in our pack file code. Refactor it to make the code a lot easier to understand.
Patrick Steinhardt committed
-
- 08 Jan, 2020 1 commit
-
-
Fix git_submodule_sync with relative url
Edward Thomson committed
-
- 06 Jan, 2020 2 commits
-
-
When setting up relative URLs for a submodule, then we resolve it to the actual location and write that into ".git/config" instead of writing the relative value. We do not yet have a test to nail down this behaviour, which is now being added by this commit.
Patrick Steinhardt committed -
The submodule code has grown out-of-date regarding its coding style. Update `git_submodule_reload` and `git_submodule_sync` to more closely resemble what the rest of our code base uses.
Patrick Steinhardt committed
-