Log

Author Commit Date CI Message
Edward Thomson efc4e7e5 2021-08-25T12:30:06 Merge pull request #5802 from lhchavez/git-warn-unused-result Introduce GIT_WARN_UNUSED_RESULT
Edward Thomson 0850b172 2021-08-25T12:20:50 Merge pull request #5950 from boretrk/posixtest open: input validation for empty segments in path
Edward Thomson cc4f8bc6 2021-08-25T09:11:25 Merge pull request #6005 from boretrk/c11-warnings C11 warnings
Peter Pettersson 40f3702c 2021-08-25T11:36:06 c90/c99: name the unnamed union in git_hash_ctx
Peter Pettersson 51d69dda 2021-08-25T11:34:59 enable warnings for C11 specific extensions
Edward Thomson c8f4b569 2021-08-24T18:28:28 Merge pull request #5974 from libgit2/ethomson/dlopen_ssl Dynamically load OpenSSL (optionally)
Edward Thomson 9fce506c 2021-08-24T15:53:10 openssl: lazily load libraries when dynamically loading Defer dlopen until it's needed when dynamically loading OpenSSL libraries.
Edward Thomson aad497cb 2021-08-24T14:08:43 openssl: dynamically load on macOS
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 314469f9 2021-08-24T16:23:09 ci: run dynamically loaded openssl workflows nightly Add Xenial, Bionic, CentOS 7 and 8 workflows with OpenSSL-Dynamic builds nightly.
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 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 3b603d31 2021-08-23T15:00:39 ci: tag new containers with the latest tag
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.)
lhchavez 991ccdc5 2021-08-01T06:19:15 formatting
lhchavez b060080e 2021-07-30T06:53:49 Get Win32 builds to build Previously, the location of `GIT_WARN_UNUSED_RESULT` was causing it to be included _after_ a bunch of other headers (namely `src/vector.h`), which broke the build. This change does two things: * Moves the `GIT_WARN_UNUSED_RESULT` above most of the `$include`s in `src/common.h`. * Stops including `vector.h` from `src/win32/path_w32.c` since the header itself does not use it.
lhchavez 4e8376a9 2021-07-30T06:34:15 Move GIT_WARN_UNUSED_RESULT from the public to the private API
lhchavez c4cbab32 2021-07-30T06:33:56 Handle one more unused variable introduced since the PR started
lhchavez 7488705d 2021-03-04T06:19:49 Add guidelines for the GIT_WARN_UNUSED_RESULT annotation
lhchavez 4bb1568f 2021-03-04T06:14:36 Be a little bit less aggressive GIT_WARN_UNUSED_RESULT Now we're limiting ourselves to only functions that allocate or acquire locks.
lhchavez 231ca4fa 2021-02-23T19:33:34 Proof-of-concept for a more aggressive GIT_UNUSED() This adds a `-Wunused-result`-proof `GIT_UNUSED()`, just to demonstrate that it works. With this, sortedcache.h is now completely `GIT_WARN_UNUSED_RESULT`-annotated!
lhchavez 9eb17d46 2021-02-16T19:38:34 Introduce GIT_WARN_UNUSED_RESULT This change adds the GIT_WARN_UNUSED_RESULT annotation, which makes the compiler warn when a return result is not used. This avoids bugs.
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.
Peter Pettersson 4584660e 2021-08-08T12:13:16 bugfix: don't generate paths with empty segments
Peter Pettersson d095502e 2021-08-08T13:34:06 tests: don't generate false positives on empty path segments
Peter Pettersson e96fc028 2021-08-08T13:22:53 tests: optional test for p_open() with empty path segments
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)