include/git2


Log

Author Commit Date CI Message
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.
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.
Edward Thomson cc68c19a 2021-07-30T08:56:51 Merge branch 'pr/5861'
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 003a1df6 2021-07-29T08:48:17 Merge pull request #5952 from libgit2/ethomson/attrs_from_commit Support reading attributes from a specific commit
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 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 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 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.
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 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
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
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`.
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
Dmitry Lobanov ca2ff5ab 2021-06-01T17:52:57 submodule: git submodule dup documentation has been fixed.
Etienne Samson 3e178547 2021-05-27T16:26:38 docs: fix some missing includes that cause Docurium to error out
Dmitry Lobanov 11aa20b0 2021-05-26T14:06:31 submodule: git submodule dup object dup has been added.
Edward Thomson 1ee3c37f 2021-05-19T09:31:30 Merge branch 'pr/5853'
Dmitry Lobanov 49f9941d 2021-05-16T23:54:25 submodule: git submodule dup has been added.
Edward Thomson 3532c5f4 2021-05-16T11:29:47 Merge pull request #5850 from punkymaniac/comment-format Fix documentation formatting
Edward Thomson 58944388 2021-05-16T11:11:56 Merge branch 'zero_oid_in_old' Manually merging #5842
Dmitry Lobanov 7d9599bd 2021-05-12T10:30:12 branch: git branch upstream merge has been exposed.
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.
yuuri ed94f549 2021-05-01T20:26:49 diff:add option to ignore blank line changes
punkymaniac 330b24d7 2021-04-21T15:46:28 Fix typo
punkymaniac 58697f6a 2021-04-21T15:44:39 Uniformise documentation return code separator
punkymaniac 51cb4390 2021-04-21T15:34:50 Fix documentation formatting The return code description use '-' char as list of return value. But with the generation of the documentation the char '-' create an ambiguous return code value who seem an negative value.
David Turner 95b7a639 2021-04-14T21:52:36 git_reference_create_matching: Treat all-zero OID as "must be absent" This is pretty useful in avoiding races: I want to create a ref only if it doesn't already exist. I can't check first because of TOCTOU -- by the time I finish the check, someone else might have already created the ref. And I can't take a lock because then I can't do the create, since the create expects to take the lock. The semantics are inspired by git update-ref, which allows an all-zero old value to mean that the ref must not exist.
Edward Thomson 9f295e21 2021-04-13T11:47:01 Merge pull request #5838 from mjsir911/msirabella/entrycount_typo_fix Fix diff_entrycount -> diff_num_deltas doc typo
Marco Sirabella 96585597 2021-04-12T23:52:03 Fix diff_entrycount -> diff_num_deltas doc typo This just fixes a typo in the documentation, actual rename change was done in 5f69a31f
lhchavez 25b75cd9 2021-03-10T07:06:15 commit-graph: Create `git_commit_graph` as an abstraction for the file This change does a medium-size refactor of the git_commit_graph_file and the interaction with the ODB. Now instead of the ODB owning a direct reference to the git_commit_graph_file, there will be an intermediate git_commit_graph. The main advantage of that is that now end users can explicitly set a git_commit_graph that is eagerly checked for errors, while still being able to lazily use the commit-graph in a regular ODB, if the file is present.
Edward Thomson 4f4b1139 2021-03-10T11:21:39 Merge pull request #5815 from libgit2/ethomson/treebuilder_write tree: deprecate `git_treebuilder_write_with_buffer`
Edward Thomson 7eb21516 2021-02-28T00:20:28 tree: deprecate `git_treebuilder_write_with_buffer` The function `git_treebuilder_write_with_buffer` is unnecessary; it is used internally as part of treebuilder writing, but it has little use to external callers. For callers that repeatedly write a treebuilder, we can supply them with a buffer in the treebuilder struct instead of recreating it. For ourselves, when we want a single buffer in our write loop, we can use an internal function.
Edward Thomson 922d73c6 2021-02-28T10:59:10 Merge pull request #5805 from tniessen/include-typos include: fix typos in comments
Tobias Nießen 25efbc4b 2021-02-22T22:57:16 include: fix typos in comments
punkymaniac 3bb5f297 2021-02-22T14:58:46 Fix documentation formating on repository.h The enum 'git_repository_init_flag_t', 'git_repository_init_mode_t' and the structure 'git_repository_init_options' does not follow the format used by docurium.
Edward Thomson 02eb1711 2021-02-01T10:07:00 Merge pull request #5731 from KOLANICH-libs/owner_accessor patch: add owner accessor
Edward Thomson 4732e030 2021-01-31T00:36:54 revspec: rename git_revparse_mode_t to git_revspec_t The information about the type of a revision spec is not information about the parser. Name it accordingly, so that `git_revparse_mode_t` is now `git_revspec_t`. Deprecate the old name.
Edward Thomson c31032a3 2021-01-07T10:15:25 Merge pull request #5760 from libgit2/ethomson/tttoo_many_ttts blob: fix name of `GIT_BLOB_FILTER_ATTRIBUTES_FROM_HEAD`
Josh Stockin ddafbafe 2021-01-05T17:26:50 Update documentation for git_blob_filter_options Adds info about initializing options with git_blob_filter_options_init
Edward Thomson 855f2998 2021-01-05T14:45:14 blob: fix name of `GIT_BLOB_FILTER_ATTRIBUTES_FROM_HEAD` `GIT_BLOB_FILTER_ATTTRIBUTES_FROM_HEAD` is misspelled, it should be `GIT_BLOB_FILTER_ATTRIBUTES_FROM_HEAD`, and it would be if it were not for the MacBook Pro keyboard and my inattentiveness.
Edward Thomson d9c15387 2021-01-05T14:29:58 blob: add git_blob_filter_options_init The `git_blob_filter_options_init` function should be included, to allow callers in FFI environments to let us initialize an options structure for them.
Josh Stockin f1151fb3 2021-01-04T16:29:10 Fix documentation for git_blob_filter_options
Josh Stockin 556e0747 2021-01-04T10:56:01 Move doc comment about `GIT_BLOB_FILTER_OPTIONS_VERSION` Removes doc comment on `git_blob_filter_options.version`, moves information to `git_blob_filter_options` doc comment to remain consistent with other options structures' documentation. `git_blob_filter_options_init` still needed; should be added in another commit/PR (it's out of the scope of this PR, #5759), update this documentation again.
Josh Stockin 0af0f7fd 2021-01-03T20:39:45 Add documentation for git_blob_filter_options.version Resolves #5756
Miguel Arroz ed7b20e7 2020-12-21T17:26:34 Add support for additional hostkey types. Specifically: ECDSA_256, ECDSA_384, ECDSA_521 and ED25519.
Jason Haslam 58d757b1 2016-11-14T16:52:33 patch: add owner accessor
lhchavez 29fe5f61 2020-11-22T18:25:00 Also add the raw hostkey to `git_cert_hostkey` `git_cert_x509` has the raw encoded certificate. Let's do the same for the SSH certificate for symmetry.
Edward Thomson abb7a7e4 2020-04-05T10:11:34 blob: use GIT_ASSERT
Sven Strickroth 0caa4655 2020-09-09T10:48:00 Add git_tag_name_is_valid Signed-off-by: Sven Strickroth <email@cs-ware.de>
Sven Strickroth fe11160c 2020-09-08T21:05:18 Add git_branch_name_is_valid Signed-off-by: Sven Strickroth <email@cs-ware.de>
Edward Thomson c7143d7c 2020-10-11T13:56:16 remote: deprecate git_remote_is_valid_name
Edward Thomson 023ebb9a 2020-10-11T13:48:07 refs: introduce git_remote_name_is_valid Provide a function that can check remote name validity but can also signal when an error occurs. Use the name "name_is_valid", which is more suggestive of checking a given name, rather than "is_valid_name", which suggests that the function checks the validity of the current remote's name.
Edward Thomson 63460fe4 2020-10-11T13:21:13 refs: deprecate git_reference_is_valid_name
Edward Thomson 29715d40 2020-10-11T12:50:52 refs: introduce git_reference_name_is_valid Provide a function that can check reference name validity but can also signal when an error occurs. Use the name "name_is_valid", which is more suggestive of checking a given name, rather than "is_valid_name", which suggests that the function checks the validity of the current reference's name.
Edward Thomson f10c8875 2020-10-11T23:04:08 Release v1.1
Ikko Ashimine 4b93f165 2020-10-04T12:45:26 Fixed typo in comment occured -> occurred
Sven Strickroth 090e7d85 2020-09-10T22:41:15 Fix deprecation links inside of documentation not working Signed-off-by: Sven Strickroth <email@cs-ware.de>
Sven e46ef5ee 2020-08-18T14:58:21 docs: fix typo
lhchavez eab2b044 2020-06-26T16:10:30 Review feedback * Change the default of the file limit to 0 (unlimited). * Changed the heuristic to close files to be the file that contains the least-recently-used window such that the window is the most-recently-used in the file, and the file does not have in-use windows. * Parameterized the filelimit test to check for a limit of 1 and 100 open windows.
lhchavez 9679df57 2020-02-08T20:47:24 mwindow: set limit on number of open files There are some cases in which repositories accrue a large number of packfiles. The existing mwindow limit applies only to the total size of mmap'd files, not on their number. This leads to a situation in which having lots of small packfiles could exhaust the allowed number of open files, particularly on macOS, where the default ulimit is very low (256). This change adds a new configuration parameter (GIT_OPT_SET_MWINDOW_FILE_LIMIT) that sets the maximum number of open packfiles, with a default of 128. This is low enough so that even macOS users should not hit it during normal use. Based on PR #5386, originally written by @josharian. Fixes: #2758
Patrick Steinhardt d43d490c 2020-06-17T17:51:19 Merge pull request #5419 from lhchavez/fix-git_index_add_from_buffer-docs index: Update the documentation for git_index_add_from_buffer()
Edward Thomson 6de8aa7f 2020-06-02T12:21:22 Merge pull request #5532 from joshtriplett/pack-default-path git_packbuilder_write: Allow setting path to NULL to use the default path
Edward Thomson 5eb48a14 2020-05-29T13:17:39 strarray: deprecate git_strarray_copy We should not be in the business of copying strings around for users. We either return a strarray that can be freed, or we take one (and do not mutate it).
Edward Thomson 51eff5a5 2020-05-29T13:13:19 strarray: we should `dispose` instead of `free` We _dispose_ the contents of objects; we _free_ objects (and their contents). Update `git_strarray_free` to be `git_strarray_dispose`. `git_strarray_free` remains as a deprecated proxy function.
Josh Triplett 5278a006 2020-05-23T16:07:54 git_packbuilder_write: Allow setting path to NULL to use the default path If given a NULL path, write to the object path of the repository. Add tests for the new behavior.
Edward Thomson abe2efe1 2019-12-09T12:37:34 Introduce GIT_ASSERT macros Provide macros to replace usages of `assert`. A true `assert` is punishing as a library. Instead we should do our best to not crash. GIT_ASSERT_ARG(x) will now assert that the given argument complies to some format and sets an error message and returns `-1` if it does not. GIT_ASSERT(x) is for internal usage, and available as an internal consistency check. It will set an error message and return `-1` in the event of failure.
Carl Schwan 9830ab3d 2020-01-29T02:00:04 blame: add option to ignore whitespace changes
Patrick Steinhardt 274b2a01 2020-03-28T10:29:13 version.h: bump version to v1.0.0
Patrick Steinhardt ca782c91 2020-03-26T13:57:31 Merge pull request #5464 from pks-t/pks/refdb-backend-docs refdb_backend: improve callback documentation
Edward Thomson fad840d7 2020-03-26T12:03:28 credentials: provide backcompat for opaque structs The credential structures are now opaque and defined in `sys/credential.h`. However, we should continue to provide them for backward compatibility, unless `GIT_DEPRECATED_HARD` is set.
Patrick Steinhardt 3bbbe95a 2020-03-26T09:41:09 refdb_backend: improve callback documentation The callbacks are currently sparsely documented, making it really hard to implement a new backend without taking a look at the existing refdb_fs backend. Add documentation to make this task hopefully easier to achieve.
Josh Bleecher Snyder a5886e9e 2020-03-07T16:04:04 repository: improve commondir docs Fixes #5428
lhchavez cff4ca26 2020-02-23T06:33:27 index: Update the documentation for git_index_add_from_buffer() This change makes the docs reflect reality. The id and size were never updated in the entry!
Edward Thomson 70062e28 2019-10-31T17:46:21 version: update the version number to v0.99 This commit also switches our SOVERSION to be "$MAJOR.$MINOR" instead of "$MINOR", only. This is in preparation of v1.0, where the previous scheme would've stopped working in an obvious way.
Patrick Steinhardt aa4cd778 2020-01-30T10:40:44 Merge pull request #5336 from libgit2/ethomson/credtype cred: change enum to git_credential_t and GIT_CREDENTIAL_*
Edward Thomson 3f54ba8b 2020-01-18T13:51:40 credential: change git_cred to git_credential We avoid abbreviations where possible; rename git_cred to git_credential. In addition, we have standardized on a trailing `_t` for enum types, instead of using "type" in the name. So `git_credtype_t` has become `git_credential_t` and its members have become `GIT_CREDENTIAL` instead of `GIT_CREDTYPE`. Finally, the source and header files have been renamed to `credential` instead of `cred`. Keep previous name and values as deprecated, and include the new header files from the previous ones.
Edward Thomson 4cae9e71 2020-01-18T18:02:08 git_libgit2_version: return an int Stop returning a void for functions, future-proofing them to allow them to fail.
Edward Thomson f78f6bd5 2020-01-18T18:00:39 error functions: return an int Stop returning a void for functions, future-proofing them to allow them to fail.
Edward Thomson 4b331f02 2020-01-18T17:56:05 revwalk functions: return an int Stop returning a void for functions, future-proofing them to allow them to fail.
Edward Thomson 82050fa1 2020-01-18T17:53:26 mempack functions: return an int Stop returning a void for functions, future-proofing them to allow them to fail.
Edward Thomson a3126a72 2020-01-18T17:50:38 repository functions: return an int Stop returning a void for functions, future-proofing them to allow them to fail.