| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
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`.
|
|
|
|
|
|
| |
`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.
|
|\
| |
| | |
stash: partial stash specific files
|
| | |
|
| | |
|
| | |
|
| |
| |
| |
| |
| |
| | |
`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.
|
|\ \
| | |
| | | |
SHA256: more SHA256 support
|
| | | |
|
| | | |
|
| | |
| | |
| | |
| | |
| | | |
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.
|
| | |
| | |
| | |
| | | |
Teach the packfile machinery to cope with SHA256.
|
| | |
| | |
| | |
| | |
| | |
| | | |
Teach the repository about the `objectformat` extension, supporting
`sha1` always and `sha256` when the experimental sha256 support is
active.
|
|/ /
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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.
|
|/
|
|
|
|
|
|
| |
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`.
|
|
|
|
|
| |
The experimental function signature is only available when
`GIT_EXPERIMENTAL_SHA256` is enabled.
|
|\
| |
| | |
RFC: SHA256 proof of concept
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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.
|
| |
| |
| |
| | |
Teach the loose object database how to cope with SHA256 objects.
|
| |
| |
| |
| | |
Move the arguments to `git_odb_loose` into an options structure.
|
| |
| |
| |
| |
| | |
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.
|
| |
| |
| |
| |
| | |
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.
|
| |
| |
| |
| |
| | |
The git_odb_hash helper functions should not assume SHA1, and instead
should be given the oid type that they're producing.
|
| |
| |
| |
| | |
libgit2's current default oid type is SHA1, set a public macro for that.
|
| | |
|
| |
| |
| |
| |
| | |
`git_oid`s now have a type, and we require the oid type when creating
the object id from creation functions.
|
| | |
|
| |
| |
| |
| |
| |
| | |
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.
|
| |
| |
| |
| |
| | |
Callers should not assume the layout of the oid structure; provide them
a macro that defines the null / zero sha1 object id.
|
| |
| |
| |
| |
| | |
In preparation for SHA256 support, `GIT_OID_RAWSZ` and `GIT_OID_HEXSZ`
need to indicate that they're the size of _SHA1_ OIDs.
|
| | |
|
|/ |
|
| |
|
| |
|
|
|
| |
Snuck in during refactoring; let's get rid of it.
|
|\ |
|
| | |
|
| |\
| | |
| | | |
Fix missing include
|
| | | |
|
| |/
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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.
|
| |
| |
| | |
Co-authored-by: Edward Thomson <ethomson@github.com>
|
|/
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
| |
Introduce the `GIT_OPT_SET_OWNER_VALIDATION` option, so that users can
disable repository ownership validation.
|
|
|
|
|
|
| |
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.
|
|
|
|
| |
The more generic GIT_ERROR_SHA allows for SHA256 errors as well as SHA1.
|
|
|
|
|
| |
The `git_error_set` function is useful for callers who implement
backends and advanced callbacks. Expose it.
|