Log

Author Commit Date CI Message
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 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 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 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 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 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>
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.
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
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.
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
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.
punkymaniac a2fa9a57 2021-06-02T14:49:33 Add some missing documentation about return value
punkymaniac eeacd234 2021-06-02T14:47:24 Fix struct indentation
punkymaniac 8b79a3f9 2021-06-02T14:46:12 Remove bad space in documentation
punkymaniac 75defb75 2021-05-18T10:51:20 Add documentation about GIT_OPT_GET_USER_AGENT
Edward Thomson 868f4bcb 2021-05-31T21:06:37 Merge pull request #5897 from tiennou/fix/coding-style-comment
David Tolnay cf9196bd 2021-05-30T10:42:25 Tolerate readlink size less than st_size
Etienne Samson 3e178547 2021-05-27T16:26:38 docs: fix some missing includes that cause Docurium to error out
Etienne Samson a25cba2c 2021-05-27T10:01:55 docs: fix incorrect comment marker
Edward Thomson 1ee3c37f 2021-05-19T09:31:30 Merge branch 'pr/5853'
Edward Thomson 319ff349 2021-05-18T20:49:40 Merge pull request #5892 from libgit2/ethomson/memleak tests: clean up memory leak, fail on leak for win32
Edward Thomson 6b1f6e00 2021-05-18T12:21:15 diff: test ignore-blank-lines
Edward Thomson 1b1e541d 2021-05-18T11:52:51 tests: clean up refs::races zero oid test
Edward Thomson a6fb72a8 2021-05-18T11:51:25 tests: exit with error on win32 leakcheck
Edward Thomson b5dcdad3 2021-05-16T12:53:58 Merge pull request #5852 from implausible/httpclient/skip-entire-body Fix issues with Proxy Authentication after httpclient refactor
Edward Thomson 3532c5f4 2021-05-16T11:29:47 Merge pull request #5850 from punkymaniac/comment-format Fix documentation formatting
Edward Thomson 9ccb900d 2021-05-16T11:14:44 Merge pull request #5831 from todaysoftware/bindings/libgit2-delphi Update README.md for additional Delphi bindings
Edward Thomson 58944388 2021-05-16T11:11:56 Merge branch 'zero_oid_in_old' Manually merging #5842
Edward Thomson cf323cb9 2021-05-16T11:09:44 refs: test git_reference_create_matching failure for zero oid
Edward Thomson be95f684 2021-05-13T19:03:00 Merge pull request #5839 from staktrace/find_similar
Kartikaya Gupta 2d24690c 2021-04-15T07:48:43 Add testcase
Kartikaya Gupta 4c462bb6 2021-04-13T13:20:34 diff: Fix bug in git_diff_find_similar. When a split src gets turned into a rename, it should also lose the IS_RENAME_TARGET flag, so that it doesn't get processed in a subsequent iteration as a rename target. Doing so can cause an assertion failure because it no longer has the SPLIT flag. Fixes #5811.
Tyler Ang-Wanek 3473a088 2021-05-12T11:48:23 httpclient: no proxy creds in requests if proxy is CONNECT type
Tyler Ang-Wanek 049618ce 2021-04-30T15:11:54 httpclient: git_http_client_skip_body should drain socket of body
Edward Thomson ff78aea6 2021-05-11T11:09:31 Merge pull request #5860 from libgit2/ethomson/buf_text buf: remove unnecessary buf_text namespace
Edward Thomson 05548e66 2021-05-11T11:09:23 Merge pull request #5859 from libgit2/ethomson/filter_buf filter: stop taking git_buf as user input
Edward Thomson 14f6950b 2021-05-10T23:14:17 buf: bom enum is in the buf namespace Instead of a `git_bom_t` that a `git_buf` function returns, let's keep it `git_buf_bom_t`.
Edward Thomson d525e063 2021-05-10T23:04:59 buf: remove internal `git_buf_text` namespace The `git_buf_text` namespace is unnecessary and strange. Remove it, just keep the functions prefixed with `git_buf`.
Edward Thomson 31d9c24b 2021-05-06T16:32:14 filter: internal git_buf filter handling function Introduce `git_filter_list__convert_buf` which behaves like the old implementation of `git_filter_list__apply_data`, where it might move the input data buffer over into the output data buffer space for efficiency. This new implementation will do so in a more predictible way, always freeing the given input buffer (either moving it to the output buffer or filtering it into the output buffer first). Convert internal users to it.
Edward Thomson 68b9605a 2021-05-06T15:37:31 filter: deprecate git_filter_list_apply_to_data Deprecate `git_filter_list_apply_to_data` as it takes user input as a `git_buf`. Users should use `git_filter_list_apply_to_buffer` instead.
Edward Thomson 5309b465 2021-05-06T15:24:30 filter: introduce git_filter_list_apply_to_buffer Provide a filter application mechanism that takes a user-provided string and length, instead of a `git_buf`.
Edward Thomson 26846f4c 2021-05-06T15:19:58 filter: remove git_buf sharing in `git_filter_list_apply_to_data` The API `git_filter_list_apply_to_data` shares data between its out and in parameters to avoid unnecessarily copying it when there are no filters to apply. However, it does so in a manner that is potentially confusing, leaving both `git_buf`s populated with data. This is risky for end-users who have to know how to deal with this. Instead, we remove this optimization - users who want to avoid unnecessary copies can use the longstanding streaming API or check the filter status before invoking the filters.
Edward Thomson 9869f1e5 2021-05-06T02:19:49 filter: deprecate git_filter_list_stream_data `git_filter_list_stream_data` takes user input in a `git_buf`. `git_buf` should only be used when libgit2 itself needs to allocate data and returned to a user that they can free when they wish. Replace it with `git_filter_list_stream_buffer` that takes a data buffer and length.
Edward Thomson 4bd17208 2021-05-06T02:28:14 Merge pull request #5858 from libgit2/ethomson/memleaks test: clean up memory leaks
Edward Thomson b31795ef 2021-05-06T01:46:19 test: clean up memory leaks
Edward Thomson 754fd358 2021-05-06T01:42:04 Merge pull request #5857 from libgit2/ethomson/longpaths Support `core.longpaths` on Windows
Edward Thomson 33667c14 2021-05-05T23:59:05 win32: add file and get status on a long path
Edward Thomson f8921ab9 2021-05-05T23:26:24 win32: ensure core.longpaths is honored for workdir paths
Ian Hattendorf 69c65b9a 2019-12-31T12:38:03 path: bump most Win32 unicode buffer sizes from MAX_PATH to GIT_PATH_MAX
Edward Thomson 5368be30 2021-05-05T23:01:57 clar: support long paths on Windows
Edward Thomson 525516b4 2021-05-04T12:42:27 Merge pull request #5855 from libgit2/ethomson/ci ci: use GitHub for storing mingw-w64 build dependency
Edward Thomson 7ad81a42 2021-05-04T12:23:17 ci: use GitHub for storing mingw-w64 build dependency
Edward Thomson c44f5688 2021-05-02T10:27:56 Merge pull request #5823 from libgit2/ethomson/path_validation Working directory path validation
yuuri ed94f549 2021-05-01T20:26:49 diff:add option to ignore blank line changes