- 09 Nov, 2021 14 commits
-
-
Edward Thomson committed
-
Edward Thomson committed
-
Edward Thomson committed
-
Edward Thomson committed
-
Teach `git_path_is_valid` to respect `core.longpaths`. Add helper methods to validate length and set the error message appropriately.
Edward Thomson committed -
Add a `git_str` based validity check; the existing `git_path_is_valid` defers to it.
Edward Thomson committed -
Edward Thomson committed
-
Edward Thomson committed
-
Provide a mechanism for users to limit the number of characters that are examined; `git_fs_path_str_is_valid` and friends will only examine up to `str->size` bytes. `git_fs_path_is_valid` delegates to these new functions by passing `SIZE_MAX` (instead of doing a `strlen`), which is a sentinel value meaning "look for a NUL terminator".
Edward Thomson committed -
Since we're returning a boolean about validation, the name is more properly "is valid".
Edward Thomson committed -
Since we're returning a boolean about validation, the name is more properly "is valid".
Edward Thomson committed -
Introduce `git_fs_path`, which operates on generic filesystem paths. `git_path` will be kept for only git-specific path functionality (for example, checking for `.git` in a path).
Edward Thomson committed -
ci: only update docs on push
Edward Thomson committed -
Only update the documentation on a `push`. We were previously updating the documentation only when not in a `pull_request`, which meant that we would push documentation updates in manual build triggers.
Edward Thomson 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 4 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
-