Log

Author Commit Date CI Message
Edward Thomson e265eb2f 2021-08-24T13:58:24 tests: show errors when libgit2_init fails
Edward Thomson 5158b0b7 2021-08-24T11:56:22 ntlmclient: update to ntlmclient 0.9.1 The ntlmclient dependency can now dynamically load OpenSSL.
Edward Thomson c9b80c25 2021-08-21T15:28:45 valgrind: suppress leaks in dlopen and newer libraries dlopen sets up some thread-local state that isn't cleaned up by `dlclose`. Additionally, now that we're linking against different versions of libssh2 and OpenSSL, we're seeing different leak signatures.
Edward Thomson 0903cac1 2021-08-11T01:30:38 openssl: dynamically load libssl and symbols (optionally) Provide an interface around OpenSSL to dynamically load the libraries and symbols, so that users can distribute a libgit2 library that is not linked directly against OpenSSL. This enables users to target multiple distributions with a single binary. This mechanism is optional and disabled by default. Configure cmake with -DUSE_HTTPS=OpenSSL-Dynamic to use it.
Edward Thomson 150eddd9 2021-08-10T21:41:05 openssl: separate legacy api Refactor the OpenSSL stream implementation so that the legacy code is better abstracted. This will enable future development.
Edward Thomson a09d4367 2021-08-23T15:27:42 Merge pull request #6000 from libgit2/ethomson/ci ci: tag new containers with the latest tag
Edward Thomson 3b603d31 2021-08-23T15:00:39 ci: tag new containers with the latest tag
Edward Thomson dbcb1cd7 2021-08-23T15:02:49 ci: update container versions Update all the container versions to force a rebuild so that they'll get tagged with latest (due to changes in the CI scripts).
Edward Thomson 76c503c3 2021-08-21T08:46:17 Merge pull request #5995 from libgit2/ethomson/centos_ci ci: update centos builds
Edward Thomson 9806f5ac 2021-08-21T08:27:59 Merge pull request #5999 from libgit2/ethomson/openssl_valgrind openssl: don't fail when we can't customize allocators
Edward Thomson ecdb41f9 2021-08-17T08:19:10 ci: update centos to find libssh2
Edward Thomson 1903cfef 2021-08-19T16:49:41 openssl: don't fail when we can't customize allocators During valgrind runs, we try to swap out the OpenSSL allocators for our own. This allows us to avoid some unnecessary warnings about usage. Unfortunately, many builds of OpenSSL do not allow you to swap allocators; for example FIPS builds and the builds running in CentOS. Try to swap the allocators, but do not fail when they cannot be customized.
Edward Thomson 3f02b5b9 2021-08-18T16:33:31 Merge pull request #5997 from boretrk/sha1_endian sha1dc: remove conditional for <sys/types.h>
Peter Pettersson 727d903a 2021-08-18T21:01:36 sha1dc: remove conditional for <sys/types.h>
Edward Thomson a7b2195a 2021-08-17T07:04:34 Merge pull request #5994 from jairbubbles/fix-libgit2-filename-not-being-passed-to-the-reso
Julien Richard 2dbe413e 2021-08-17T11:34:11 Fix LIBGIT2_FILENAME not being passed to the resource compiler
Edward Thomson a42577db 2021-08-16T14:09:17 ci: update centos builds
Edward Thomson d4416624 2021-08-16T13:49:38 ci: update centos builds
Edward Thomson 5ad53ec7 2021-08-15T23:19:54 ci: update centos builds
Edward Thomson 1ebdb6f2 2021-08-15T22:53:19 ci: update centos7 and centos8 build
Edward Thomson 8ea666b2 2021-08-15T18:00:22 ci: run centos7 and centos8 builds nightly
Edward Thomson f25ca0e3 2021-08-15T17:53:44 Merge pull request #5992 from libgit2/ethomson/centos_ci ci: add centos 7 and centos 8
Edward Thomson 62471777 2021-08-15T17:18:04 ci: run centos7 and centos8 builds nightly
Edward Thomson e6c9fcf0 2021-08-09T08:42:06 ci: add centos7 and centos8 docker definitions
Edward Thomson 4ae6107b 2021-08-14T22:11:49 Merge pull request #5989 from libgit2/ethomson/ci_nightly ci: update nightly to use source path
Edward Thomson c1c59843 2021-08-14T11:15:51 Merge pull request #5972 from libgit2/ethomson/http_empty_password http: don't require a password
Edward Thomson f01cddb1 2021-08-14T10:06:12 ci: update nightly to use source path
Edward Thomson 631ae5a6 2021-08-10T13:34:20 ci: final docs update
Edward Thomson fd54db0e 2021-08-10T13:13:10 ci: build docs in source directory for consistency All the other workflows jobs check out into the `source` directory; do this in the documentation build job as well, for consistency across jobs.
Edward Thomson 0e38f2b3 2021-08-10T11:28:17 ci: update path during documentation generation
Edward Thomson 587494d0 2021-08-10T10:44:17 ci: update paths during docker build
Edward Thomson 5fd44239 2021-08-10T10:06:43 Merge pull request #5854 from alexjg/respect-force-flag-in-remote-fetch Respect the force flag on refspecs in git_remote_fetch
Edward Thomson 9c64acdd 2021-08-09T15:16:42 Merge pull request #5980 from libgit2/ethomson/dockerfile docker: remove the entrypoint
Edward Thomson 962d78d3 2021-08-09T15:12:10 Merge pull request #5978 from boretrk/amiga amiga: use ';' as path list separator on AmigaOS
Edward Thomson b140e22e 2021-08-08T11:07:43 ci: remove the docker entrypoint Omitting an entrypoint.sh to configure the container and instead depending on docker primitives allows us to be more portable. (If a distribution uses a different mechanism for adding users, we need not have multiple entrypoint.sh files or invariants within it; instead we can configure that in the dockerfile itself along with all the other distribution specific components.)
Peter Pettersson 2c2cb3f3 2021-08-08T14:35:07 amiga: use ';' as path list separator on AmigaOS Like on Windows ':' is used for volume names in absolute paths.
Edward Thomson 28841241 2021-08-05T08:12:28 http: don't require a password Attempt authentication when a username is presented but a password is not; this can happen in particular when users are doing token authentication and specifying the token in the URL itself. For example, `https://token@host/` is a valid URI and should be treated as a username of `token` with an empty password.
Alex Good a5696702 2021-07-08T11:58:28 skip descendant check if remote ref not found
Edward Thomson e65229ee 2021-07-31T09:45:30 Merge pull request #5962 from libgit2/ethomson/futimens
Edward Thomson f6b3f726 2021-07-30T12:40:36 README: link to more information about cmake
Edward Thomson 3062a633 2021-07-30T12:03:35 cmake: extended futimens checking on macOS
Edward Thomson c73ee740 2021-07-30T12:02:00 Merge pull request #5961 from libgit2/ethomson/odb_tests_priority tests: reset odb backend priority
Edward Thomson e5975f36 2021-07-30T11:37:12 tests: reset odb backend priority
Edward Thomson e87bcb3d 2021-07-30T10:32:02 Merge branch 'pr/5491'
Edward Thomson 0c34767e 2021-07-30T10:31:16 Merge pull request #5957 from lhchavez/fix-master-build Fix one memory leak in master
Tony De La Nuez cd460522 2020-04-20T22:16:52 odb: Implement option for overriding of default odb backend priority Introduce GIT_OPT_SET_ODB_LOOSE_PRIORITY and GIT_OPT_SET_ODB_PACKED_PRIORITY to allow overriding the default priority values for the default ODB backends. Libgit2 has historically assumed that most objects for long- running operations will be packed, therefore GIT_LOOSE_PRIORITY is set to 1 by default, and GIT_PACKED_PRIORITY to 2. When a client allows libgit2 to set the default backends, they can specify an override for the two priority values in order to change the order in which each ODB backend is accessed.
lhchavez d15b6132 2021-07-30T07:18:57 Fix one memory leak in master There was one test that wasn't correctly disposing of the repository.
Edward Thomson cc68c19a 2021-07-30T08:56:51 Merge branch 'pr/5861'
Edward Thomson f2915ec4 2021-07-30T08:56:34 tests: reformat upstream merge
Edward Thomson 47dd9f47 2021-07-30T08:52:37 Merge branch 'pr/5940'
Edward Thomson 346f15ba 2021-07-30T08:51:43 status: document `GIT_STATUS_OPT_INCLUDE_UNREADABLE` Document `GIT_STATUS_OPT_INCLUDE_UNREADABLE`, and some minor cleanups.
Edward Thomson 708d9336 2021-07-30T08:34:28 Merge pull request #5953 from boretrk/c99-inline common.h: use inline when compiling for C99 and later
Edward Thomson 003a1df6 2021-07-29T08:48:17 Merge pull request #5952 from libgit2/ethomson/attrs_from_commit Support reading attributes from a specific commit
Edward Thomson f313b383 2021-07-28T08:14:08 Merge pull request #5954 from Crayon2000/patch-1
Crayon 59af78a4 2021-07-28T01:58:32 Fix typo in general.c
Edward Thomson f08cae10 2021-07-27T18:59:15 Merge pull request #5767 from lhchavez/cgraph-reachable-from-any
lhchavez 8d453f16 2021-07-27T13:00:31 Swap the order of the `git_graph_reachable_from_any` params len, array -> array, len
lhchavez ce5400cd 2021-01-06T06:26:09 graph: Create `git_graph_reachable_from_any()` This change introduces a new API function `git_graph_reachable_from_any()`, that answers the question whether a commit is reachable from any of the provided commits through following parent edges. This function can take advantage of optimizations provided by the existence of a `commit-graph` file, since it makes it faster to know whether, given two commits X and Y, X cannot possibly be an reachable from Y. Part of: #5757
Edward Thomson 08c79128 2021-07-27T10:18:52 Merge pull request #5766 from lhchavez/cgraph-generation-cmp commit-graph: Introduce `git_commit_list_generation_cmp`
lhchavez 6f544140 2021-01-05T19:45:23 commit-graph: Introduce `git_commit_list_generation_cmp` This change makes calculations of merge-bases a bit faster when there are complex graphs and the commit times cause visiting nodes multiple times. This is done by visiting the nodes in the graph in reverse generation order when the generation number is available instead of commit timestamp. If the generation number is missing in any pair of commits, it can safely fall back to the old heuristic with no negative side-effects. Part of: #5757
Peter Pettersson 88a3b8e1 2021-07-26T23:12:12 common.h: use inline when compiling for c99 and later
Edward Thomson 2370e491 2021-07-26T16:27:54 Merge pull request #5765 from lhchavez/cgraph-revwalks commit-graph: Use the commit-graph in revwalks
Edward Thomson 43b5075d 2021-07-22T17:07:56 Merge pull request #5890 from lolgear/git_submodule_dup [Submodule] Git submodule dup
Edward Thomson c87e4760 2021-07-22T16:51:11 Merge branch 'pr/5948' into main
Edward Thomson fe40de40 2021-07-22T16:50:26 trace: drop unnecessary write indirection
Edward Thomson 1439b9ff 2021-07-22T15:29:54 filter: introduce GIT_BLOB_FILTER_ATTRIBUTES_FROM_COMMIT Provide a mechanism to filter using attribute data from a specific commit (making use of `GIT_ATTR_CHECK_INCLUDE_COMMIT`).
Edward Thomson 0bd547a8 2021-07-22T15:29:46 attr: introduce GIT_ATTR_CHECK_INCLUDE_COMMIT Introduce `GIT_ATTR_CHECK_INCLUDE_COMMIT`, which like 4fd5748 allows attribute information to be read from files in the repository. 4fd5748 always reads the information from HEAD, while `GIT_ATTR_CHECK_INCLUDE_COMMIT` allows users to provide the commit to read the attributes from.
Edward Thomson 093d579f 2021-07-22T15:07:35 attr: cache nonexistent attr files from commits When looking up an attribute file in a commit, we can cache a nonexistent attribute file indefinitely (since a commit could not somehow later contain an attribute file). Cache an empty buffer when an attribute file does not exist in a given commit.
Edward Thomson d7e8b934 2021-06-16T09:08:38 filter: add git_filter_options Allow filter users to provide an options structure instead of simply flags. This allows for future growth for filter options.
Edward Thomson 1db5b219 2021-06-16T09:06:26 filter: filter options are now "filter sessions" Filters use a short-lived structure to keep state during an operation to allow for caching and avoid unnecessary reallocations. This was previously called the "filter options", despite the fact that they contain no configurable options. Rename them to a "filter session" in keeping with an "attribute session", which more accurately describes their use (and allows us to create "filter options" in the future).
Edward Thomson 3779a047 2021-05-27T18:47:22 attr: introduce `git_attr_options` for extended queries Allow more advanced attribute queries using a `git_attr_options`, and extended functions to use it. Presently there is no additional configuration in a `git_attr_options` beyond the flags, but this is for future growth.
Edward Thomson 1cd863fd 2021-05-24T13:44:45 attr: include the filename in the attr source The attribute source object is now the type and the path.
Edward Thomson 96dc1ffd 2021-05-22T20:14:47 attr: the attr source is now a struct We may want to extend the attribute source; use a structure instead of an enum.
Edward Thomson 5ee50488 2021-05-22T18:47:03 attr: rename internal attr file source enum The enum `git_attr_file_source` is better suffixed with a `_t` since it's a type-of source. Similarly, its members should have a matching name.
Edward Thomson 5c5c19a6 2021-07-20T08:51:57 Merge pull request #5951 from libgit2/ethomson/strict_alloc Optional stricter allocation checking (for `malloc(0)` cases)
Edward Thomson b0980dcf 2021-07-20T08:25:59 Update src/allocators/stdalloc.c Co-authored-by: lhchavez <lhchavez@lhchavez.com>
Calvin Buckley 688bf4ce 2021-07-19T19:25:58 Remove macro magic
Edward Thomson c69852d6 2021-07-19T16:03:36 ci: enable strict allocation checking on one node
Edward Thomson 31e84edb 2021-07-19T16:02:30 merge: don't try to malloc(0)
Edward Thomson 419ffdde 2021-07-19T15:51:53 packbuilder: don't try to malloc(0)
Edward Thomson 48e6b02b 2021-07-19T15:41:44 alloc: add GIT_DEBUG_STRICT_ALLOC Add `GIT_DEBUG_STRICT_ALLOC` to help identify problematic callers of allocation code that pass a `0` size to the allocators and then expect a non-`NULL` return. When given a 0-size allocation, `malloc` _may_ return either a `NULL` _or_ a pointer that is not writeable. Most systems return a non-`NULL` pointer; AIX is an outlier. We should be able to cope with this AIXy behavior, so this adds an option to emulate it.
Calvin Buckley 950a7f76 2021-07-17T16:21:05 Variadic arguments aren't in C89 This refactors this to a wrapper function, as well as changing the existing API have a va_list and ... version.
Edward Thomson 6a7f0403 2021-07-16T08:47:37 Merge pull request #5941 from NattyNarwhal/stdintification stdintification: use int64_t and INT64_C instead of long long
Edward Thomson d6bea53d 2021-07-16T08:47:28 Update tests/graph/commit_graph.c
Edward Thomson 36e80306 2021-07-16T08:41:18 Merge pull request #5945 from boretrk/resynctimer git__timer: Allow compilation on systems without CLOCK_MONOTONIC
Calvin Buckley 589654d8 2021-07-15T20:34:14 khash 64-bit type is unsigned, use int32_t too For 32-bit int: There's no real reason for that ifdef if we explicitly specify the stdint.h type. For 64-bit int: ope, I made it signed accidentally
Peter Pettersson e4e173e8 2021-07-15T21:00:02 Allow compilation on systems without CLOCK_MONOTONIC Makes usage of CLOCK_MONOTONIC conditional and makes functions that uses git__timer handle clock resynchronization. Call gettimeofday with tzp set to NULL as required by https://pubs.opengroup.org/onlinepubs/9699919799/functions/gettimeofday.html
Edward Thomson f15a6792 2021-07-14T09:33:09 Merge pull request #5913 from lhchavez/python3 Make `FIND_PACKAGE(PythonInterp)` prefer `python3`
Edward Thomson 84ce9746 2021-07-14T08:39:24 Merge pull request #5824 from palmin/fix-ignore-negate fix check for ignoring of negate rules
Edward Thomson e5649e10 2021-07-14T08:30:16 Merge pull request #5938 from NattyNarwhal/time-type-mismatch Fix wrong time_t used in function
Edward Thomson 97cd165e 2021-07-14T08:30:00 Merge pull request #5926 from Batchyx/batchyx/config-refresh-twice config: fix included configs not refreshed more than once
lhchavez b7dce05c 2021-06-16T06:38:41 Make `FIND_PACKAGE(PythonInterp)` prefer `python3` This change makes it possible to prefer a python (version 3) interpreter on systems where python2 and python3 coexist (where python2 is found as `/usr/bin/python`).
Edward Thomson 95a2966f 2021-07-13T17:32:02 Merge pull request #5908 from punkymaniac/patch-mem-leak Fix memory leak in git_smart__connect
Edward Thomson 6be9e80e 2021-07-13T15:50:45 Merge pull request #5936 from boretrk/amigatimer git__timer: Limit ITimer usage to AmigaOS4
Calvin Buckley fcfaea4d 2021-07-07T23:29:28 Remove sus unsigned long constant
Calvin Buckley 3f28eafe 2021-07-07T19:35:42 stdint constants in test suite Passes w/ gcc 11 on Fedora x64. Protip: So you don;t have to suffer, ``` perl -pe 's/(-?(?:0x)?[A-Fa-f0-9]+)([Uu])?[Ll][Ll]/\U$2INT64_C(\E$1)/mg' ```
Calvin Buckley 52505ab5 2021-07-07T19:12:02 Convert long long constant specifiers to stdint macros
Calvin Buckley c1aca3fe 2021-07-06T23:25:13 Initial pass at using int64_t instead of long long Even on systems without C99 where long long and stdint are both missing, we can shim stdint and point it to any compiler-specific type (i.e long long, _int64, etc.). Also next is constant suffixes and determining what needs to include stdint.
Calvin Buckley be67f512 2021-07-06T22:27:14 Fix wrong time_t used in function This function doesn't interoperate with any system functions that use the system time_t, but rather only works with the git_time_t type in libgit2, which could be a different width than the system one. Fixes a compile warning.
Peter Pettersson b444918a 2021-07-06T20:51:14 Limit ITimer usage to AmigaOS4