summaryrefslogtreecommitdiff
path: root/src/libgit2/odb.c
Commit message (Collapse)AuthorAgeFilesLines
* packfile: handle sha256 packfilesEdward Thomson2023-02-121-2/+13
| | | | Teach the packfile machinery to cope with SHA256.
* sha256: indirection for experimental functionsEdward Thomson2022-07-131-11/+63
| | | | | The experimental function signature is only available when `GIT_EXPERIMENTAL_SHA256` is enabled.
* sha256: make sha256 an experimental optional featureEdward Thomson2022-06-201-3/+12
| | | | | | | | | | 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_loose: SHA256 support for loose object storageEdward Thomson2022-06-201-0/+2
| | | | Teach the loose object database how to cope with SHA256 objects.
* odb: add git_odb_loose_backend_optionsEdward Thomson2022-06-201-1/+5
| | | | Move the arguments to `git_odb_loose` into an options structure.
* odb: accept an oid type in optionsEdward Thomson2022-06-201-16/+24
| | | | | Allow the object database to take an oid type that it supports. This oid type will be used to validate the objects that the backends provide.
* odb: add git_odb_optionsEdward Thomson2022-06-201-3/+20
| | | | | Users will need to be able to specify the object id type for the given object database; add a new `git_odb_options` with that option.
* odb_hash*: accept the oid type to hash intoEdward Thomson2022-06-201-30/+65
| | | | | 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-5/+9
| | | | | `git_oid`s now have a type, and we require the oid type when creating the object id from creation functions.
* oid: define GIT_OID_SHA1_ZEROEdward Thomson2022-06-141-4/+4
| | | | | Callers should not assume the layout of the oid structure; provide them a macro that defines the null / zero sha1 object id.
* oid: `GIT_OID_*SZ` is now `GIT_OID_SHA1_*SIZE`Edward Thomson2022-06-141-11/+11
| | | | | In preparation for SHA256 support, `GIT_OID_RAWSZ` and `GIT_OID_HEXSZ` need to indicate that they're the size of _SHA1_ OIDs.
* refactor: make util an object libraryEdward Thomson2022-02-221-1/+1
| | | | | | | | | | Instead of simply including the utility files directly, make them a cmake object library for easy reusability between other projects within libgit2. Now the top-level `src` is responsible for platform selection, while the next-level `libgit2` and `util` configurations are responsible for identifying what objects they include.
* refactor: `src` is now `src/libgit2`Edward Thomson2022-02-221-0/+1831