summaryrefslogtreecommitdiff
path: root/include
Commit message (Collapse)AuthorAgeFilesLines
* huhethomson/smartrefactorEdward Thomson2023-04-111-0/+13
|
* v1.6.2: update version numbersEdward Thomson2023-02-281-2/+2
|
* v1.6.1: correct missing version number updatesv1.6.1Edward Thomson2023-02-251-2/+2
|
* v1.6: update version numbersEdward Thomson2023-02-241-2/+2
|
* Correct the definition of "empty" in the docs for `git_repository_is_empty`Tim Rogers2023-02-231-1/+3
| | | | | | | | | | | This improves the documentation for `git_repository_is_empty` which currently does not accurately describe libgit2's definition of "empty". It says that HEAD must point to the "unborn master branch", when in fact, this is not the case if the repo's `init.defaultBranch` configuration is set. If it is set, it will check that HEAD points there. Only if it is not set does it fall back to `master`.
* odb: don't unconditionally add oid_type to streamEdward Thomson2023-02-231-0/+2
| | | | | | `git_odb_stream` should have an `oid_type` to disambiguate; that's not necessary on non-experimental SHA256 builds. Avoid unnecessary ABI breakage for consumers and hide it behind an ifdef for now.
* Merge pull request #6330 from gitkraken-jacobw/partial-stashingEdward Thomson2023-02-161-6/+60
|\ | | | | stash: partial stash specific files
| * stash: fixes from code reviewEdward Thomson2023-02-161-17/+5
| |
| * stash: add `const` to argumentsJacob Watson2022-07-141-1/+3
| |
| * stash: implement partial stashing by pathJacob Watson2022-07-141-1/+65
| |
* | strarray: remove deprecated declarationEdward Thomson2023-02-161-13/+0
| | | | | | | | | | | | `git_strarray_copy` is deprecated (and has been included in `deprecated.h` for some time). It should not have remained in the public `strarray.h`. Remove it.
* | Merge pull request #6456 from libgit2/ethomson/sha256_experimentalEdward Thomson2023-02-145-16/+138
|\ \ | | | | | | SHA256: more SHA256 support
| * | repo: take an oid_type when initializingEdward Thomson2023-02-121-0/+9
| | |
| * | transport: teach transports about oid types and SHA256Edward Thomson2023-02-121-0/+12
| | |
| * | object: lookup sha256 objectsEdward Thomson2023-02-122-2/+57
| | | | | | | | | | | | | | | 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-14/+52
| | | | | | | | | | | | Teach the packfile machinery to cope with SHA256.
| * | repo: understand the `objectformat` extensionEdward Thomson2023-02-121-0/+8
| | | | | | | | | | | | | | | | | | Teach the repository about the `objectformat` extension, supporting `sha1` always and `sha256` when the experimental sha256 support is active.
* | | core: allow users to configure home directoryEdward Thomson2023-02-091-1/+13
|/ / | | | | | | | | | | | | | | | | | | Some callers -- like our test suite and the test suites of our language bindings -- want to isolate the home directory to avoid accidentally including the executing user's actual home directory data. Previously, we combined the notion of a home directory and global configuration -- now that this is separated, we provide users the ability to configure both.
* | cmake: provide empty experimental.h for non-cmake usersEdward Thomson2022-09-191-0/+20
|/ | | | | | | | Not everybody builds libgit2 using cmake; provide an `experimental.h` with no experiments configured for those that do not. To support this, we also now create compile definitions for experimental functionality, to supplant that empty `experimental.h`. cmake will continue to generate the proper `experimental.h` file for use with `make install`.
* sha256: indirection for experimental functionsEdward Thomson2022-07-133-0/+42
| | | | | The experimental function signature is only available when `GIT_EXPERIMENTAL_SHA256` is enabled.
* Merge pull request #6191 from libgit2/ethomson/sha256_pocEdward Thomson2022-07-138-45/+204
|\ | | | | RFC: SHA256 proof of concept
| * sha256: make sha256 an experimental optional featureEdward Thomson2022-06-203-19/+70
| | | | | | | | | | | | | | | | | | | | 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-2/+8
| | | | | | | | Teach the loose object database how to cope with SHA256 objects.
| * odb: add git_odb_loose_backend_optionsEdward Thomson2022-06-201-8/+38
| | | | | | | | Move the arguments to `git_odb_loose` into an options structure.
| * odb: accept an oid type in optionsEdward Thomson2022-06-202-0/+8
| | | | | | | | | | 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-2/+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-7/+18
| | | | | | | | | | The git_odb_hash helper functions should not assume SHA1, and instead should be given the oid type that they're producing.
| * oid: specify a default implementationEdward Thomson2022-06-201-0/+3
| | | | | | | | libgit2's current default oid type is SHA1, set a public macro for that.
| * oid: add sha256 typed oidsEdward Thomson2022-06-201-4/+9
| |
| * oid: give oids a typeEdward Thomson2022-06-201-21/+36
| | | | | | | | | | `git_oid`s now have a type, and we require the oid type when creating the object id from creation functions.
| * oid: include maximum oid raw/hex sizesEdward Thomson2022-06-141-0/+2
| |
| * oid: introduce `git_oid_t`Edward Thomson2022-06-141-0/+5
| | | | | | | | | | | | We require an enumeration to help us identify the different types of object IDs. Currently, we only support SHA1 but we will support SHA256 in the future.
| * oid: define GIT_OID_SHA1_ZEROEdward Thomson2022-06-142-5/+10
| | | | | | | | | | 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-144-9/+9
| | | | | | | | | | In preparation for SHA256 support, `GIT_OID_RAWSZ` and `GIT_OID_HEXSZ` need to indicate that they're the size of _SHA1_ OIDs.
* | meta: update version number to v1.6.0-alphaEdward Thomson2022-07-131-4/+4
| |
* | v1.5: update version numbersEdward Thomson2022-07-131-2/+2
|/
* status: update documentation for default optionsEdward Thomson2022-06-131-2/+5
|
* config: update config entry iteration lifecycleEdward Thomson2022-06-131-2/+2
|
* transport: remove `git_transport_smart_proxy_options` Edward Thomson2022-06-121-10/+0
| | | Snuck in during refactoring; let's get rid of it.
* Merge remote-tracking branch 'origin/main' into mainlhchavez2022-06-113-7/+7
|\
| * docs: fix couple of typosAleksey Kulikov2022-04-283-7/+7
| |
| * Merge pull request #6277 from cschlack/sys_transport_missing_includeEdward Thomson2022-04-251-0/+1
| |\ | | | | | | Fix missing include
| | * Fix missing includeChristian Schlack2022-04-161-0/+1
| | |
| * | remote: Delete a now-inexistent API declarationlhchavez2022-04-141-10/+0
| |/ | | | | | | | | | | | | | | | | | | 6fc6eeb66c40310086c8f059cae41de69ad4c6da replaced the remote options with `git_remote_connect_options`. The function definitions were removed, but one function declaration remained, causing linker errors if one tried to use it. This change removes the declaration of `git_transport_smart_proxy_option` to better reflect reality.
* | Apply suggestions from code reviewlhchavez2022-06-112-1/+3
| | | | | | Co-authored-by: Edward Thomson <ethomson@github.com>
* | transport: introduce `git_transport_smart_remote_connect_options`lhchavez2022-04-162-2/+29
|/ | | | | | | | | | | 6fc6eeb66c40310086c8f059cae41de69ad4c6da removed `git_transport_smart_proxy_option`, and there was nothing added to replace it. That made it hard for custom transports / smart subtransports to know what remote connect options to use (e.g. proxy options). This change introduces `git_transport_smart_remote_connect_options` to replace it.
* repo: make ownership checks optionalEdward Thomson2022-04-111-1/+11
| | | | | Introduce the `GIT_OPT_SET_OWNER_VALIDATION` option, so that users can disable repository ownership validation.
* repo: ensure that repo dir is owned by current userEdward Thomson2022-04-111-1/+2
| | | | | | Ensure that the repository directory is owned by the current user; this prevents us from opening configuration files that may have been created by an attacker.
* sha: GIT_ERROR_SHA1 is deprecated in favor of GIT_ERROR_SHAEdward Thomson2022-03-232-1/+3
| | | | The more generic GIT_ERROR_SHA allows for SHA256 errors as well as SHA1.
* errors: expose `git_error_set`Edward Thomson2022-02-221-2/+16
| | | | | The `git_error_set` function is useful for callers who implement backends and advanced callbacks. Expose it.