Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | mehethomson/ssh_exec | Edward Thomson | 2023-05-17 | 1 | -10/+10 |
| | |||||
* | fixup! ssh: GIT_SSH_LIBSSH2 is now distinct from GIT_SSH | Edward Thomson | 2023-05-17 | 1 | -2/+2 |
| | |||||
* | fixup! Introduce git_process class that invokes processes | Edward Thomson | 2023-05-17 | 1 | -4/+1 |
| | |||||
* | fixup! ssh: introduce GIT_SSH_EXEC for external OpenSSH | Edward Thomson | 2023-05-17 | 1 | -0/+1 |
| | |||||
* | test | Edward Thomson | 2023-05-17 | 1 | -5/+2 |
| | |||||
* | fixup! Introduce git_process class that invokes processes | Edward Thomson | 2023-05-17 | 1 | -0/+4 |
| | |||||
* | fixup! Introduce git_process class that invokes processes | Edward Thomson | 2023-05-17 | 1 | -1/+1 |
| | |||||
* | process: test SIGTERM detection | Edward Thomson | 2023-05-17 | 4 | -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 libssh2 | Edward Thomson | 2023-05-17 | 1 | -8/+8 |
| | |||||
* | ssh: introduce GIT_SSH_EXEC for external OpenSSH | Edward Thomson | 2023-05-17 | 5 | -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_SSH | Edward Thomson | 2023-05-17 | 8 | -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 file | Edward Thomson | 2023-05-17 | 5 | -1107/+1160 |
| | |||||
* | Introduce git_process class that invokes processes | Edward Thomson | 2023-05-17 | 10 | -0/+1508 |
| | |||||
* | Introduce `git_strlist` to manage string lists | Edward Thomson | 2023-05-17 | 2 | -0/+111 |
| | |||||
* | Merge branch 'worktree_prunable' (PR #5712)HEADmain | Edward Thomson | 2023-05-16 | 3 | -11/+41 |
|\ | |||||
| * | worktree: document that is_prunable sets error messages | Edward Thomson | 2023-05-16 | 1 | -1/+3 |
| | | | | | | | | | | When a worktree is not prunable, an error message will be set with information about why. Document that. | ||||
| * | worktree: update prunable to reflect refactorings | Edward Thomson | 2023-05-16 | 1 | -11/+11 |
| | | | | | | | | | | PR #5712 predates several refactorings to move the utility code into a more general purpose codebase. Update to reflect the refactorings. | ||||
| * | Refactor git_worktree_is_prunable slightly to fix memory leak | Reginald McLean | 2023-05-16 | 1 | -10/+16 |
| | | |||||
| * | Added check if gitdir exists in is_prunable() | Reginald McLean | 2023-05-16 | 1 | -0/+9 |
| | | | | | | | | Fixes #5598 | ||||
| * | Added missing is_prunable test | Reginald McLean | 2023-05-16 | 1 | -0/+13 |
|/ | |||||
* | Merge pull request #6535 from libgit2/ethomson/timeouts | Edward Thomson | 2023-05-13 | 45 | -410/+779 |
|\ | |||||
| * | clone: skip timeout tests on WinHTTPethomson/timeouts | Edward Thomson | 2023-05-13 | 1 | -0/+16 |
| | | |||||
| * | win32: use WSAGetLastError to determine blocking | Edward Thomson | 2023-05-13 | 1 | -1/+14 |
| | | |||||
| * | win32: getsockopt takes a `char *` instead of a `void *` | Edward Thomson | 2023-05-13 | 1 | -1/+2 |
| | | | | | | | | Monsters. | ||||
| * | cmake: use `check_symbol_exists` for rand functions | Edward Thomson | 2023-05-13 | 1 | -2/+2 |
| | | | | | | | | | | `check_symbol_exists` is superior to `check_function_exists`; use it consistently in our cmake configuration | ||||
| * | posix: use WSAPoll on win32 | Edward Thomson | 2023-05-13 | 3 | -2/+10 |
| | | |||||
| * | posix: introduce p_poll emulation with select | Edward Thomson | 2023-05-13 | 5 | -5/+85 |
| | | | | | | | | Not all systems have poll(2); emulate it with select(2). | ||||
| * | streams: sockets are non-blocking and can timeout | Edward Thomson | 2023-05-13 | 9 | -30/+335 |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Make socket I/O non-blocking and add optional timeouts. Users may now set `GIT_OPT_SET_SERVER_CONNECT_TIMEOUT` to set a shorter connection timeout. (The connect timeout cannot be longer than the operating system default.) Users may also now configure the socket read and write timeouts with `GIT_OPT_SET_SERVER_TIMEOUT`. By default, connects still timeout based on the operating system defaults (typically 75 seconds) and socket read and writes block. Add a test against our custom testing git server that ensures that we can timeout reads against a slow server. | ||||
| * | ci: update to poxygit v0.6.0 | Edward Thomson | 2023-05-13 | 1 | -1/+1 |
| | | | | | | | | | | v0.6.0 of poxygit add support for throttling connections to test timeouts and low-bandwidth situations. | ||||
| * | net: move `gitno` buffer to `staticstr` | Edward Thomson | 2023-05-13 | 22 | -237/+151 |
| | | | | | | | | | | | | | | | | The `gitno` buffer interface is another layer on top of socket reads. Abstract it a bit into a "static string" that has `git_str` like semantics but without heap allocation which moves the actual reading logic into the socket / stream code, and allows for easier future usage of a static / stack-allocated `git_str`-like interface. | ||||
| * | net: move rfc2818 hostname / wildcard matching to util | Edward Thomson | 2023-05-13 | 7 | -78/+80 |
| | | |||||
| * | stransport: store error information | Edward Thomson | 2023-05-13 | 1 | -11/+28 |
| | | | | | | | | | | | | We lose some error information from the read / write callbacks to stransport. Store our own error value in the object so that we can ensure that we rely upon it. | ||||
| * | util: make monotonic time fn return ms | Edward Thomson | 2023-05-13 | 10 | -53/+66 |
|/ | | | | | | | | | | | | | | | | | `git__timer` is now `git_time_monotonic`, and returns milliseconds since an arbitrary epoch. Using a floating point to store the number of seconds elapsed was clever, as it better supports the wide range of precision from the different monotonic clocks of different systems. But we're a version control system, not a real-time clock. Milliseconds is a good enough precision for our work _and_ it's the units that system calls like `poll` take and that our users interact with. Make `git_time_monotonic` return the monotonically increasing number of milliseconds "ticked" since some arbitrary epoch. | ||||
* | Merge pull request #5722 from libgit2/ethomson/tlsdata_fail | Edward Thomson | 2023-05-13 | 7 | -33/+118 |
|\ | | | | | Thread-local storage: handle failure cases | ||||
| * | threadstate: don't use an unnecessary macro | Edward Thomson | 2023-05-13 | 3 | -11/+9 |
| | | | | | | | | | | Now that we've reduced the usage of GIT_THREADSTATE, remove it entirely in favor of git_threadstate_get(). | ||||
| * | oid: don't assume thread local state was initialized | Edward Thomson | 2023-05-13 | 5 | -13/+45 |
| | | | | | | | | | | | | git_oid_tostr_s could fail if thread-local state initialization fails. In that case, it will now return `NULL`. Callers should check for `NULL` and propagate the failure. | ||||
| * | errors: don't rely on tls data working | Edward Thomson | 2023-05-13 | 1 | -13/+68 |
| | | | | | | | | | | | | Thread-local storage data may fail to initialize; in this case, do not try to set the error message into it. When the thread state has not been initialized, return a hardcoded message to that affect. | ||||
| * | errors: drop unneccessary g_git prefix | Edward Thomson | 2023-05-13 | 1 | -6/+6 |
|/ | |||||
* | Merge pull request #6488 from libgit2/ethomson/workflow | Edward Thomson | 2023-05-13 | 4 | -126/+146 |
|\ | | | | | actions: simplify execution with composite action | ||||
| * | reusableethomson/workflow | Edward Thomson | 2023-02-17 | 2 | -60/+73 |
| | | |||||
| * | nightly | Edward Thomson | 2023-02-17 | 1 | -29/+14 |
| | | |||||
| * | fixup! fixup! actions: simplify execution with composite action | Edward Thomson | 2023-02-16 | 1 | -2/+2 |
| | | |||||
| * | fixup! actions: simplify execution with composite action | Edward Thomson | 2023-02-16 | 1 | -1/+1 |
| | | |||||
| * | actions: simplify execution with composite action | Edward Thomson | 2023-02-16 | 2 | -37/+59 |
| | | |||||
* | | Merge pull request #6561 from libgit2/ethomson/xdiff | Edward Thomson | 2023-05-13 | 12 | -129/+133 |
|\ \ | | | | | | | Update xdiff to git 2.40.1's version | ||||
| * | | xdiff: update to xdiff from git 2.40.1ethomson/xdiff | Edward Thomson | 2023-05-11 | 11 | -129/+131 |
| | | | |||||
| * | | util: add GIT_UNUSED_ARG | Edward Thomson | 2023-05-11 | 1 | -0/+2 |
| | | | | | | | | | | | | | | | Add `GIT_UNUSED_ARG` which is an attribute for arguments, for compatibility with dependencies. | ||||
* | | | Merge pull request #6558 from DimitryAndric/fix-qsort-variants-2 | Edward Thomson | 2023-05-12 | 5 | -23/+41 |
|\ \ \ | |/ / |/| | | Work around -Werror problems when detecting qsort variants | ||||
| * | | cmake: refactor `check_prototype_definition` | Edward Thomson | 2023-05-12 | 3 | -15/+21 |
| | | | | | | | | | | | | | | | Introduce `check_prototype_definition_safe` that is safe for `Werror` usage. | ||||
| * | | cmake: simplify QSORT names | Edward Thomson | 2023-05-12 | 3 | -18/+20 |
| | | | | | | | | | | | | `QSORT_R` and `QSORT_S` -> `QSORT` |