summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* yoethomson/ssh_exec_2Edward Thomson2023-04-113-76/+141
|
* process: test SIGTERM with catEdward Thomson2023-02-231-1/+1
| | | | | | Use something that will wait (eg `cat`) instead of something that completes basically immediately (eg `echo`) so that we have a chance to actually kill the process.
* process: test SIGTERM detectionEdward Thomson2023-04-114-1/+79
| | | | | | We can't reliably detect SIGPIPE on close because of platform differences. Track `pid` and send `SIGTERM` to a function and ensure that we can detect it.
* ci: split ssh into exec and libssh2Edward Thomson2023-04-111-8/+8
|
* ssh: introduce GIT_SSH_EXEC for external OpenSSHEdward Thomson2023-04-115-2/+302
| | | | | | We can now use the `git_process` class to invoke OpenSSH and use it as an SSH transport. This may be preferred over libssh2 for a variety of callers.
* ssh: GIT_SSH_LIBSSH2 is now distinct from GIT_SSHEdward Thomson2023-04-118-25/+28
| | | | | | | We may want to support SSH but with a different provider that is not libssh2. Add GIT_SSH to indicate that we have some inbuilt SSH support and GIT_SSH_LIBSSH2 to indicate that support is via libssh2. This is similar to how we support GIT_HTTPS and GIT_OPENSSL, for example.
* ssh: refactor libssh2-specific bits into their own fileEdward Thomson2023-04-115-1108/+1161
|
* Introduce git_process class that invokes processesEdward Thomson2023-04-1110-0/+1560
|
* Merge pull request #6544 from libgit2/ethomson/repo_envEdward Thomson2023-04-084-286/+491
|\ | | | | repo: honor environment variables for more scenarios
| * repo: honor GIT_CONFIG_* environment variablesEdward Thomson2023-04-042-35/+146
| | | | | | | | | | | | When the repository is opened with `GIT_REPOSITORY_OPEN_FROM_ENV`, honor the `GIT_CONFIG_GLOBAL`, `GIT_CONFIG_SYSTEM` and `GIT_CONFIG_NOSYSTEM` environment variables.
| * repo: honor GIT_COMMON_DIR when respecting envEdward Thomson2023-04-042-10/+46
| | | | | | | | | | When the repository is opened with `GIT_REPOSITORY_OPEN_FROM_ENV`, honor the `GIT_COMMON_DIR` environment variable.
| * repo: honor GIT_WORK_TREE environment variableEdward Thomson2023-04-042-13/+62
| | | | | | | | | | When the repository is opened with `GIT_REPOSITORY_OPEN_FROM_ENV`, honor the `GIT_WORK_TREE` environment variable.
| * env: remove the _from_env functionEdward Thomson2023-04-042-227/+233
| | | | | | | | | | | | | | Remove the `_git_repository_open_ext_from_env` and make it part of the general repository opening code path. This removes the re-entrancy, and standardizes things like index and config opening to a single place again so that we have predictable ordering of the opening procedure.
| * repo: change error messageEdward Thomson2023-04-041-1/+1
| | | | | | | | | | | | "Could not find repository from ..." doesn't make sense. "Could not find repository _at_ ..." does not indicate that we walked down the path hierarchy, but at least it's more correct.
| * repo: free data in the discovery testsEdward Thomson2023-04-041-0/+3
|/ | | | Shocked that our leak checkers didn't find this earlier.
* Merge pull request #6505 from libgit2/ethomson/extension_madnessEdward Thomson2023-03-272-11/+56
|\ | | | | repo: don't allow repeated extensions
| * repo: don't allow repeated extensionsEdward Thomson2023-02-252-11/+56
| | | | | | | | | | | | If a user attempts to add a custom extension that the system already supports, or that is already in their list of custom extensions, de-dup it.
* | Merge pull request #6533 from libgit2/ethomson/schannel-2Edward Thomson2023-03-2733-248/+1453
|\ \ | | | | | | Introduce Schannel and SSPI for Windows
| * | http: add SSPI authentication on WindowsEdward Thomson2023-03-215-9/+350
| | | | | | | | | | | | | | | Add support for SSPI on Windows, which offers NTLM and Negotiate authentication.
| * | utf8: add conversion with size and refactor namesEdward Thomson2023-03-2112-120/+185
| | | | | | | | | | | | | | | | | | | | | | | | Add functions to use convert a string with length, instead of assuming NUL termination. In addition, move the utf8 to 16 conversion routines into the `git_utf8` namespace instead of using namespaceless `git__` prefixed names.
| * | http: refactor GSSAPI / negotiate / NTLM authEdward Thomson2023-03-213-46/+46
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Name the GSSAPI and ntlmclient authentication providers as such. Today they're named after the authentication mechanism ("Negotiate", "NTLM") instead of their implementation. If we have competing implementations for the same mechanism (eg, a future Windows SSPI-based provider for Negotiate and NTLM) then this will get confusing.
| * | http: introduce schannel streams for windowsEdward Thomson2023-03-2116-80/+879
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Provide a stream interface for Schannel - the native crypto APIs - on Windows. This allows Windows to use the same HTTP transport that all the other platforms use, with its own native crypto. Ultimately this allows us to deprecate WinHTTP and we need not add support for our socket changes in two places (our HTTP stack and the WinHTTP stack).
* | | Merge pull request #6534 from libgit2/ethomson/v1.6.3v1.6.3Edward Thomson2023-03-214-4/+27
|\ \ \ | |/ / |/| | v1.6.3
| * | v1.6.3: update changelogEdward Thomson2023-03-211-0/+23
| | |
| * | v1.6.3: update version numbersEdward Thomson2023-03-213-4/+4
|/ /
* | Merge pull request #6530 from libgit2/cmn/pack-index-64Edward Thomson2023-03-161-5/+4
|\ \ | | | | | | pack: use 64 bits for the number of objects
| * | pack: cast to uint64_t when calculating index size insteadCarlos Martín Nieto2023-03-161-4/+3
| | | | | | | | | | | | | | | | | | It is a bit too hidden why we want 64 bits when we're assigning to a 32-bit integer later on to store the number of objects, so go back to uint32_t and cast to uint64_t during the size calculation.
| * | pack: use 64 bits for the number of objectsCarlos Martín Nieto2023-03-141-4/+4
|/ / | | | | | | | | Keeping it as a 32-bit value means the min size calculation overflows or gets truncated which can lead to issues with large packfiles.
* | Merge pull request #6529 from libgit2/ethomson/include_sanityEdward Thomson2023-03-113-3/+0
|\ \ | | | | | | cmake: don't include `include/git2`
| * | cmake: don't include `include/git2`Edward Thomson2023-03-103-3/+0
|/ / | | | | | | | | Including the `include/git2` build path is a seemingly unnecessary oversight to include the generated `experimental.h` file.
* | Merge pull request #6527 from Batchyx/batchyx/wchar-fixesEdward Thomson2023-03-081-0/+2
|\ \
| * | sysdir: Do not declare win32 functions on non-win32 platformsNicolas Cavallari2023-03-081-0/+2
|/ / | | | | | | | | These declaration poses problems on some embedded or retro Linux systems that deliberately disable support for wchar_t from their libc.
* | Merge pull request #6521 from libgit2/ethomson/weird_ignoreEdward Thomson2023-03-032-1/+48
|\ \
| * | index: support `git_index_add_all` directories with forceEdward Thomson2023-03-021-1/+2
| | | | | | | | | | | | | | | | | | | | | When the contents of an entire new directory is ignored, and `FORCE` is specified to `git_index_add_all`, ensure that we expand the entire file list. By default, diff will coalesce a fully ignored folder into a single diff entry; expand it.
| * | index: test `git_index_add_all` with forceEdward Thomson2023-03-021-0/+23
| | | | | | | | | | | | | | | Ensure that when all files beneath a directory are ignored that we add the files when FORCE is specified.
| * | index: test `git_index_add_all` with ignored folderEdward Thomson2023-03-021-0/+23
|/ / | | | | | | | | Ensure that when all files beneath a directory are ignored that we actually ignore the files.
* | Merge pull request #6520 from libgit2/ethomson/git_odb_openEdward Thomson2023-03-022-0/+53
|\ \ | | | | | | odb: restore `git_odb_open`
| * | odb: restore `git_odb_open`Edward Thomson2023-03-012-0/+53
| | | | | | | | | | | | | | | `git_odb_open` was erroneously removed during a refactoring; add it back.
* | | Merge pull request #6513 from libgit2/ethomson/util_test_rootEdward Thomson2023-03-011-1/+5
|\ \ \ | | | | | | | | fs_path: let root run the ownership tests
| * | | fs_path: let root run the ownership testsEdward Thomson2023-02-271-1/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | The `git_fs_path_owner_is_current_user` expects the root dir on unix (`/`) to be owned by a non-current user. This makes sense unless root (or euid == 0) is running the tests, which often happens during distro build / packaging scripts. Allow them to run the tests.
* | | | Merge pull request #6518 from georgthegreat/patch-1Edward Thomson2023-03-011-2/+0
|\ \ \ \ | |_|/ / |/| | | Remove unused wditer variable
| * | | Remove unused wditer variableYuriy Chernyshov2023-02-281-2/+0
|/ / / | | | | | | Found this randomly while debugging #6517
* | | v1.6.2: update changelogv1.6.2Edward Thomson2023-02-281-0/+20
| | |
* | | v1.6.2: update version numbersEdward Thomson2023-02-283-4/+4
| | |
* | | Merge pull request #6514 from libgit2/ethomson/libgit2_pcEdward Thomson2023-02-271-2/+2
|\ \ \
| * | | meta: configure pkg-config .pc correctlyEdward Thomson2023-02-271-2/+2
| |/ / | | | | | | | | | | | | The library name is correctly libgit2 (not git2) or libgit2-experimental depending on configuration.
* | | Merge pull request #6512 from libgit2/ethomson/odb_looseEdward Thomson2023-02-272-0/+77
|\ \ \
| * | | odb: test git_odb_backend_looseEdward Thomson2023-02-271-0/+43
| | | |
| * | | odb: add back git_odb_backend_looseEdward Thomson2023-02-271-0/+34
| |/ / | | | | | | | | | | | | `git_odb_backend_loose` was erroneously removed during a refactoring; add it back.
* | | Merge pull request #6511 from libgit2/ethomson/hostandportEdward Thomson2023-02-272-22/+4
|\ \ \ | |/ / |/| | Revert #6503