- 10 Apr, 2022 13 commits
-
-
The commit graph contains arrays of raw oid data, use a byte array to index into them.
Edward Thomson committed -
Now that oids are type-aware, they use their type to understand how many bytes to copy. Some callers may need to copy the raw bytes of the object id. This is equivalent to a memcpy that is a little more semantic.
Edward Thomson committed -
Edward Thomson committed
-
We will talk about "raw" oids as untyped blobs of data; use a name for the comparison function that is in keeping with that.
Edward Thomson committed -
Create an object id from raw data instead of casting.
Edward Thomson committed -
Don't write the object id structure, write its raw oid data.
Edward Thomson committed -
We explicitly want to write on the id data, not the beginning of the object data, which may contain other information in the future.
Edward Thomson committed -
We explicitly want to hash on the id data, not the beginning of the object data, which may contain other information in the future.
Edward Thomson committed -
Don't assume that a `git_oid` is a particular size; allocate `sizeof(git_oid)` instead.
Edward Thomson committed -
A tree entry previously pointed directly into the object id within the tree object itself; this is useful to avoid any unnecessary memory copy (and an unnecessary use of 40 bytes per tree entry) but difficult if we change the underlying `git_oid` object to not simply be a raw object id but have additional structure. This commit moves the `git_oid` directly into the tree entry; this simplifies the tree entry creation from user data. We now copy the `git_oid` into place when parsing.
Edward Thomson committed -
midx: Fix an undefined behavior (left-shift signed overflow)
Edward Thomson committed -
Fix crash when regenerating a patch with unquoted spaces in filename
Edward Thomson committed -
Edward Thomson committed
-
- 06 Apr, 2022 4 commits
-
-
tests: support flaky stat
Edward Thomson committed -
The 32-bit ARM QEMU builds are flaky when running `lstat`. Disable those testing `lstat`'s `st_size` temporarily.
Edward Thomson committed -
diff: don't stat empty file on arm32 (flaky test)
Edward Thomson committed -
sha256: support dynamically loaded openssl
Edward Thomson committed
-
- 05 Apr, 2022 1 commit
-
-
There was a missing check to ensure that the `off64_t` (which is a signed value) didn't overflow when parsing it from the midx file. This shouldn't have huge repercusions since the parsed value is immediately validated afterwards, but then again, there is no such thing as "benign" undefined behavior. This change makes all the bitwise arithmetic happen with unsigned types and is only casted to `off64_t` until the very end. Thanks to Taotao Gu for finding and reporting this!
lhchavez committed
-
- 04 Apr, 2022 3 commits
-
-
fetch: support OID refspec without dst
Edward Thomson committed -
Edward Thomson committed
-
Our CI test infrastructure virtualizes arm32 in docker, which is a sometimes imperfect situation. In `diff::workdir::can_diff_empty_file`, avoid the stat to ensure that the file is zero bytes; there is an odd issue running in qemu when emulating arm32 that we should skip.
Edward Thomson committed
-
- 23 Mar, 2022 17 commits
-
-
SHA256: add a SHA256 implementation backend
Edward Thomson committed -
gcc (mingw) warns when you cast the result of `GetProcAddress`; cast the results to `void *` before casting them to the actual result.
Edward Thomson committed -
When GIT_SHA1_WIN32 or GIT_SHA256_WIN32 is used, ensure that we test both CryptoNG ("cng") and CryptoAPI.
Edward Thomson committed -
Adding SHA256 support prompted an overdue refactoring of some of the unnecessary complexity around the CNG/CryptoAPI abstraction.
Edward Thomson committed -
Edward Thomson committed
-
Edward Thomson committed
-
Edward Thomson committed
-
Add support for a SHA256 hash algorithm, and add the "builtin" SHA256 hash engine (from RFC 6234).
Edward Thomson committed -
The more generic GIT_ERROR_SHA allows for SHA256 errors as well as SHA1.
Edward Thomson committed -
Eliminate the `sha1` folder, move it down into `hash` so that future impelmentations can share common code.
Edward Thomson committed -
Remove the "generic" implementation; it should never be used; it only existed for a no-dependencies configuration, and our bundled sha1dc satisfies that requirement _and_ is correct.
Edward Thomson committed -
Edward Thomson committed
-
Benchmarking suite
Edward Thomson committed -
Support the ability to create a refspec that is a single object ID without a destination.
Edward Thomson committed -
clone: update bitbucket tests
Edward Thomson committed -
Edward Thomson committed
-
Fix a string concatenation bug when validating extensions
Edward Thomson committed
-
- 16 Mar, 2022 1 commit
-
-
As builtin extensions are evaluated in the latter half of `check_valid_extension`, a string `cfg` is concatenated with the static string 'extension.' and the value from `builtin_extension`, before being compared with the configured value. This string is not being cleared while iterating through the names of the extensions. Because there is currently only one extension ('noop'), the bug was never noticible. This patch corrects the behavior by clearing the string on each iteration, as is done in the first block.
Wilhelm Bierbaum committed
-
- 13 Mar, 2022 1 commit
-
-
This fixes a crash in test cases test_diff_parse__new_file_with_space_and_regenerate_patch and test_diff_parse__delete_file_with_space_and_regenerate_patch
Iliyas Jorio committed
-