Log

Author Commit Date CI Message
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 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 7488705d 2021-03-04T06:19:49 Add guidelines for the GIT_WARN_UNUSED_RESULT annotation
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.
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
punkymaniac f1697936 2021-07-06T17:44:38 Fix struct documentation formatting
punkymaniac 48e3c25b 2021-06-16T17:50:40 Add missing return documentation
punkymaniac aefbd189 2021-06-16T17:46:24 Add missing empty line
punkymaniac 131f0805 2021-06-16T17:45:01 Fix documentation formatting for git_diff_file
punkymaniac c960e0b1 2021-06-08T15:57:44 Fix bad char at the end of the word
Edward Thomson 6c78fd06 2021-07-02T18:30:07 Merge pull request #5915 from novalis/executable Consider files executable only if the user can execute them
Edward Thomson 992f65f7 2021-07-02T18:27:59 Merge pull request #5916 from boretrk/doc Update from regex to pcre licensing information in docs/contributing.md
Edward Thomson ed4a12ae 2021-07-02T18:27:14 Merge pull request #5917 from tiennou/fix/docurium-issues docs: fix some missing includes that cause Docurium to error out
Edward Thomson e1674766 2021-06-29T12:26:04 Merge pull request #5929 from jacquesg/winhttp Define WINHTTP_NO_CLIENT_CERT_CONTEXT if needed
Jacques Germishuys a2cd10e5 2021-06-26T18:52:21 define WINHTTP_NO_CLIENT_CERT_CONTEXT if needed
Edward Thomson 416ea5b4 2021-06-25T14:58:06 README: libera.chat not Freenode
Edward Thomson e2d2a03e 2021-06-25T14:49:46 Merge pull request #5925 from Batchyx/batchyx/master-to-main-doc docs: stop mentioning libgit2's "master" branch
Edward Thomson 9eeee00f 2021-06-25T14:49:33 Update docs/release.md Co-authored-by: lhchavez <lhchavez@lhchavez.com>
Nicolas Cavallari 4bf136b0 2021-06-23T16:53:53 config: fix included configs not refreshed more than once If an included config is refreshed twice, the second update is not taken into account. This is because the list of included files is cleared after re-reading the new configuration, instead of being cleared before. Fix it and add a test case to check for this bug.
Nicolas Cavallari a2cd66be 2021-06-23T16:57:48 docs: stop mentioning libgit2's "master" branch The name of libgit2's main branch is now "main" but contributing.md and release.md still reference "master" as the main branch. Fix it.
Dmitry Lobanov 55f2abb8 2021-06-18T15:47:15 tests: upstream merge test has been added.
Peter Pettersson 045031bb 2021-06-17T19:56:00 Update from regex to pcre licensing information
David Turner b0fd4cf8 2021-06-16T13:38:45 Consider files executable only if the user can execute them This is what git.git does, so we should follow suit.
punkymaniac bea1b024 2021-06-16T10:32:46 Add test for fetch proxy memleak
Dmitry Lobanov 54a52452 2021-06-15T17:33:29 tests: submodule git lookup can be dupped test comments have been changed.
Dmitry Lobanov 428f1acf 2021-06-15T17:33:03 submodule: git submodule dup out and source parameters have become mandatory.
Edward Thomson 0d0150d8 2021-06-15T07:42:20 Merge pull request #5910 from arxanas/patch-1
Waleed Khan 1bdd937d 2021-06-14T17:25:35 Update index.h
Edward Thomson 6d2a6f3e 2021-06-15T00:22:30 Apply suggestions from code review
Edward Thomson 6efcfdb8 2021-06-15T00:15:27 Merge pull request #5900 from dtolnay-contrib/lstat Tolerate readlink size less than st_size
Edward Thomson 9ecbff12 2021-06-15T00:11:25 Merge pull request #5903 from punkymaniac/patch-documentation Patch documentation
Anders Borum b34aaf6c 2021-06-14T14:39:20 test that specific lines can negate broader ignore lines
Waleed Khan 0b3f6da4 2021-06-13T16:42:00 Fix misleading doc for `git_index_find` In https://github.com/libgit2/libgit2/pull/5723/files/fc46dc06f52f854f74371682f911f13856c68edb#r540092847, I was confused by the semantics of `git_index_find`. The documentation says both that it returns the output value in `at_pos` and that it returns it directly as an `int`. This is incorrect; the return value is only returned via `at_pos`.
Anders Borum 8cad7e62 2021-06-13T08:21:05 Update src/ignore.c Co-authored-by: lhchavez <lhchavez@lhchavez.com>
Anders Borum 9410f2b5 2021-06-13T08:20:59 Update src/ignore.c Co-authored-by: lhchavez <lhchavez@lhchavez.com>
punkymaniac d07a0dc1 2021-06-04T16:34:32 Remove useless condition
punkymaniac 2934b447 2021-06-03T11:21:39 Fix memory leak in git_smart__connect The call to git_proxy_options_dup will replace the url pointer of the proxy. But if the url pointer is already set, the old address will be lost forever and will never be free.