- 30 Aug, 2023 20 commits
-
-
Handle custom paths for OpenSSH.
Edward Thomson committed -
This helped when troubleshooting issues running the `ci/test.sh` script locally.
Edward Thomson committed -
Callers can specify the ssh command to invoke using `core.sshcommand` or the `GIT_SSH` environment variable. This is useful for specifying alternate configuration, and is particularly useful for our testing environment.
Edward Thomson committed -
Provide both cmdline-style handling (passing it to the shell on POSIX, or directly to CreateProcess on win32) and execv style (passing it directly to execv on POSIX, and mangling it into a single command-line on win32).
Edward Thomson committed -
Don't capture stderr, optimize for the CLI case.
Edward Thomson committed -
Provide more user-friendly error messages in smart protocol negotiation failures.
Edward Thomson committed -
Provide a mechanism for callers to read from stderr.
Edward Thomson committed -
Suppress SIGPIPEs during writes to our piped process. On single-threaded applications, this is as simple as ignoring the signal. But since this is process-wide, on multi-threaded applications, we need to use some cumbersome `pthread_sigmask` manipulation. Thanks to https://www.doof.me.uk/2020/09/23/sigpipe-and-how-to-ignore-it/ and http://www.microhowto.info:80/howto/ignore_sigpipe_without_affecting_other_threads_in_a_process.html
Edward Thomson committed -
Instead of "early EOF", provide information on _when_ we're seeing the EOF for debugging.
Edward Thomson committed -
A transport may want to validate that it's in a sane state; when flushing on close, don't assume that we're doing an upload-pack; send the correct direction.
Edward Thomson committed -
Now that we (may) exec a child process to do ssh, we don't want valgrind reporting on that. Suppress children in valgrind runs.
Edward Thomson committed -
There are no custom callbacks for OpenSSH; don't test them.
Edward Thomson committed -
Edward Thomson committed
-
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.
Edward Thomson committed -
Edward Thomson committed
-
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.
Edward Thomson committed -
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.
Edward Thomson committed -
Edward Thomson committed
-
Edward Thomson committed
-
Edward Thomson committed
-
- 25 Aug, 2023 2 commits
-
-
ci: update to macOS 12
Edward Thomson committed -
Edward Thomson committed
-
- 23 Aug, 2023 3 commits
-
-
Edward Thomson committed
-
ci: retry flaky online tests
Edward Thomson committed -
Edward Thomson committed
-
- 19 Aug, 2023 2 commits
-
-
cmake: fix openssl build on win32
Edward Thomson committed -
since f15c8ac7 libgit unconditionally depends on secur32 on Windows but only added it in cmake for the winhttp and schannel variants. In case libgit is built against openssl it would fail to link. This moves secur32 out of the https backend selection code into the global win32 condition (and while at it also adds ws2_32 to the .pc file)
Christoph Reiter committed
-
- 14 Aug, 2023 4 commits
-
-
cli: add a `git config` command
Edward Thomson committed -
config: provide an "origin" for config entries
Edward Thomson committed -
README.md: Fix link to conan packages
Edward Thomson committed -
Laurence McGlashan committed
-
- 10 Aug, 2023 2 commits
-
-
Revert "CMake: Search for ssh2 instead of libssh2."
Edward Thomson committed -
Edward Thomson committed
-
- 02 Aug, 2023 3 commits
-
-
proxy: Return an error for invalid proxy URLs instead of crashing.
Edward Thomson committed -
Edward Thomson committed
-
Test proxies specified by both host:port format in configuration options, environment variables, and `http.proxy` configuration.
Edward Thomson committed
-
- 01 Aug, 2023 4 commits
-
-
The common format for specifying proxy URLs is just 'host:port'. Handle the common case.
Edward Thomson committed -
Introduce a url parser that defaults to treating poorly specified URLs as http URLs. For example: `localhost:8080` is treated as `http://localhost:8080/` by the http-biased url parsing, instead of a URL with a scheme `localhost` and a path of `8080`..
Edward Thomson committed -
Refactor url parsing to simplify the state-passing (introducing a struct) and add a path parser for future reusability.
Edward Thomson committed -
Edward Thomson committed
-