summaryrefslogtreecommitdiff
path: root/src/libgit2/indexer.c
Commit message (Collapse)AuthorAgeFilesLines
* transport: teach transports about oid types and SHA256Edward Thomson2023-02-121-15/+41
|
* object: lookup sha256 objectsEdward Thomson2023-02-121-24/+55
| | | | | This is much of the plumbing for the object database to support SHA256, and for objects to be able to parse SHA256 versions of themselves.
* packfile: handle sha256 packfilesEdward Thomson2023-02-121-9/+10
| | | | Teach the packfile machinery to cope with SHA256.
* sha256: indirection for experimental functionsEdward Thomson2022-07-131-1/+1
| | | | | The experimental function signature is only available when `GIT_EXPERIMENTAL_SHA256` is enabled.
* sha256: make sha256 an experimental optional featureEdward Thomson2022-06-201-0/+3
| | | | | | | | | | libgit2 can be built with optional, experimental sha256 support. This allows consumers to begin testing and providing feedback for our sha256 support while we continue to develop it, and allows us to make API breaking changes while we iterate on a final sha256 implementation. The results will be `git2-experimental.dll` and installed as `git2-experimental.h` to avoid confusion with a production libgit2.
* odb_hash*: accept the oid type to hash intoEdward Thomson2022-06-201-1/+1
| | | | | The git_odb_hash helper functions should not assume SHA1, and instead should be given the oid type that they're producing.
* oid: give oids a typeEdward Thomson2022-06-201-1/+3
| | | | | `git_oid`s now have a type, and we require the oid type when creating the object id from creation functions.
* oid: `GIT_OID_*SZ` is now `GIT_OID_SHA1_*SIZE`Edward Thomson2022-06-141-14/+14
| | | | | In preparation for SHA256 support, `GIT_OID_RAWSZ` and `GIT_OID_HEXSZ` need to indicate that they're the size of _SHA1_ OIDs.
* indexer: write raw id dataEdward Thomson2022-04-101-1/+1
| | | | Don't write the object id structure, write its raw oid data.
* tree: move git_oid into tree entryEdward Thomson2022-04-101-1/+1
| | | | | | | | | | | | 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.
* refactor: `src` is now `src/libgit2`Edward Thomson2022-02-221-0/+1413