- 08 Nov, 2021 4 commits
-
-
To accommodate less capable compilers. Co-authored-by: Peter Pettersson <85582231+boretrk@users.noreply.github.com>
Josh Triplett committed -
Add optional refreshing in the fake backend, and count the number of refresh calls if enabled.
Josh Triplett committed -
Looking up a non-existent object currently always invokes `git_odb_refresh`. If looking up a large batch of objects, many of which may legitimately not exist, this will repeatedly refresh the ODB to no avail. Add a `git_odb_exists_ext` that accepts flags controlling the ODB lookup, and add a flag to suppress the refresh. This allows the user to control if and when they refresh (for instance, refreshing once before starting the batch).
Josh Triplett committed -
Commit b1a6c316 moved auto-refresh into the pack backend, and added a comment accordingly. Commit 43820f20 moved auto-refresh back *out* of backends into the ODB layer, but didn't update the comment.
Josh Triplett committed
-
- 28 Oct, 2021 2 commits
-
-
libgit2_clar is now libgit2_tests
Edward Thomson committed -
in #6083 the test runner was renamed to libgit2_tests, but not all references to the old name were updated. this change changes all of them to use the new name.
Martin Kühl committed
-
- 18 Oct, 2021 6 commits
-
-
cmake: cleanups and consistency
Edward Thomson committed -
Ensure that we always use lowercase function names, and that we do not have spaces preceding open parentheses, for consistency.
Edward Thomson committed -
The `STDCALL` option was removed; remove the (unreachable) error message.
Edward Thomson committed -
There's no need to make tracing opt-in; it should always be included.
Edward Thomson committed -
Edward Thomson committed
-
macOS may support ENABLE_REPRODUCIBLE_BUILDS, allow users to opt-in to it. (Especially since ENABLE_REPRODUCIBLE_BUILDS is not the default.)
Edward Thomson committed
-
- 17 Oct, 2021 6 commits
-
-
Edward Thomson committed
-
Nobody knows what CLAR is. The test building option should be `BUILD_TESTS`.
Edward Thomson committed -
`git_buf`: now a public-only API (`git_str` is our internal API)
Edward Thomson committed -
libgit2 has two distinct requirements that were previously solved by `git_buf`. We require: 1. A general purpose string class that provides a number of utility APIs for manipulating data (eg, concatenating, truncating, etc). 2. A structure that we can use to return strings to callers that they can take ownership of. By using a single class (`git_buf`) for both of these purposes, we have confused the API to the point that refactorings are difficult and reasoning about correctness is also difficult. Move the utility class `git_buf` to be called `git_str`: this represents its general purpose, as an internal string buffer class. The name also is an homage to Junio Hamano ("gitstr"). The public API remains `git_buf`, and has a much smaller footprint. It is generally only used as an "out" param with strict requirements that follow the documentation. (Exceptions exist for some legacy APIs to avoid breaking callers unnecessarily.) Utility functions exist to convert a user-specified `git_buf` to a `git_str` so that we can call internal functions, then converting it back again.
Edward Thomson committed -
We have been inconsistent about the way that we handle `git_buf`s provided by users. _Usually_ we require that it has been properly initialized with `GIT_BUF_INIT`, but _sometimes_ we simply overwrite the data in it regardless. And even more rarely, we will grow a user-provided buffer and concatenate data onto it (see `git_diff_format_email`). Document the path forward for `git_buf`, which is that we always require that the buffer is intitialized with `GIT_BUF_INIT`. `git_diff_format_email` will be kept backward compatible but users are encouraged to switch to the new `git_email` APIs.
Edward Thomson committed -
hash: separate hashes and git_oid
Edward Thomson committed
-
- 14 Oct, 2021 1 commit
-
-
Edward Thomson committed
-
- 13 Oct, 2021 2 commits
-
-
Edward Thomson committed
-
git's default rename limit is 1000, ours should match.
Edward Thomson committed
-
- 02 Oct, 2021 3 commits
-
-
Edward Thomson committed
-
In `git_futils_readbuffer_updated`, always take a particular hash instead of a `git_oid`. This lets us change the checksum algorithm independently of `git_oid` usage.
Edward Thomson committed -
Separate the concerns of the hash functions from the git_oid functions. The git_oid structure will need to understand either SHA1 or SHA256; the hash functions should only deal with the appropriate one of these.
Edward Thomson committed
-
- 01 Oct, 2021 2 commits
-
-
Edward Thomson committed
-
Edward Thomson committed
-
- 27 Sep, 2021 8 commits
-
-
Edward Thomson committed
-
examples: Free the git_config and git_config_entry after use
Edward Thomson committed -
Edward Thomson committed
-
oidarray: introduce `git_oidarray_dispose`
Edward Thomson committed -
Edward Thomson committed
-
Edward Thomson committed
-
buf: common_prefix takes a string array
Edward Thomson committed -
`git_strarray` is a public-facing type. Change `git_buf_text_common_prefix` to not use it, and just take an array of strings instead.
Edward Thomson committed
-
- 26 Sep, 2021 3 commits
-
-
Since users are disposing the _contents_ of the oidarray, not freeing the oidarray itself, the proper cleanup function is `git_oidarray_dispose`. Deprecate `git_oidarray_free`.
Edward Thomson committed -
The `repo` argument is now unnecessary. Remove it.
Edward Thomson committed -
When looking up attributes for a file, we construct an absolute path to the queried file within the working directory so that we can accept both absolute paths and working directory relative paths. We then trim the leading working directory path to give us an in-repo path. Since we only want the in-repo path to look up attributes - and not to read it from disk - we don't need to validate its length.
Edward Thomson committed
-
- 25 Sep, 2021 3 commits
-
-
Attribute lookups are done on paths relative to the repository. Fail if erroneously presented with an absolute path.
Edward Thomson committed -
Always pass a working-directory relative path to attribute lookups during checkout.
Edward Thomson committed -
Resolve absolute paths to be working directory relative when looking up attributes. Importantly, now we will _never_ pass an absolute path down to attribute lookup functions.
Edward Thomson committed
-