| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
| |
When a worktree is not prunable, an error message will be set with
information about why. Document that.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Make socket I/O non-blocking and add optional timeouts.
Users may now set `GIT_OPT_SET_SERVER_CONNECT_TIMEOUT` to set a shorter
connection timeout. (The connect timeout cannot be longer than the
operating system default.) Users may also now configure the socket read
and write timeouts with `GIT_OPT_SET_SERVER_TIMEOUT`.
By default, connects still timeout based on the operating system
defaults (typically 75 seconds) and socket read and writes block.
Add a test against our custom testing git server that ensures that we
can timeout reads against a slow server.
|
|
|
|
|
|
| |
git_oid_tostr_s could fail if thread-local state initialization fails.
In that case, it will now return `NULL`. Callers should check for
`NULL` and propagate the failure.
|
|\
| |
| | |
Shallow (#6396) with some fixes from review
|
| |
| |
| |
| |
| | |
The `depth` field is suitable to specify unshallowing; provide an enum
to aide in specifying the `unshallow` value.
|
| |
| |
| |
| |
| |
| | |
Users should provide us an array of object ids; we don't need a separate
type. And especially, we should not be mutating user-providing values.
Instead, use `git_oid *` in the shallow code.
|
| |
| |
| |
| |
| | |
Depth of `0` should indicate full depth. Disallow negative values (they
may have a future meaning) and use `0` as the default.
|
| |
| |
| |
| |
| | |
The opt mechanism isn't _really_ meant to be for feature flags, and it's
weird to feature flag shallow / unshallow at all.
|
| |\ |
|
| | | |
|
| |\ \
| | | |
| | | |
| | | | |
into shallow-clone-network
|
| | | |
| | | |
| | | | |
Co-authored-by: Qix <Qix-@users.noreply.github.com>
|
| |/ / |
|
| |\ \ |
|
| | | | |
|
| | | | |
|
| | | | |
|
| | | | |
|
| |\ \ \ |
|
| | | | | |
|
| |\ \ \ \ |
|
| | | | | | |
|
| | | | | | |
|
| |\ \ \ \ \
| | | |/ / /
| | |/| | | |
|
| | | | | | |
|
| | |\ \ \ \ |
|
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
Currently, we expose the function `git_repository_shallow_roots` to get
all grafted roots of the repository. This already paints us into a
corner, though, as we certainly need to experiment with some
functionality of the grafting mechanism before we can happily expose
some of its functionality. Most importantly, we need to get right when
to refresh grafts and when not.
Thus, this commit removes the public function with no public
replacement. We should first try and see what usecases people come up
with to e.g. expose the `git_grafts` mechanism directly in the future
or do something different altogether. Instead, we provide an internal
interface to get weak pointers to the grafting structs part of the
repository itself.
|
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
The shallow roots are in fact another user of the grafting mechanism,
and in essence they do use the same file format for grafted commits.
Thus, instead of hand-coding the parsing logic a second time, we can
just reuse the `git_grafts` structure for shallow commits, as well.
|
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
Parsing of grafts files is currently contained in the repository code.
To make grafts-related logic more self-contained, move it into
"grafts.c" instead.
|
| | | | | | | |
|
| |_|_|_|_|/
|/| | | | | |
|
|\ \ \ \ \ \
| | | | | | |
| | | | | | | |
sha256: less hardcoded SHA1 types and lengths
|
| | | | | | | |
|
| | | | | | | |
|
| | | | | | | |
|
| | | | | | | |
|
|/ / / / / / |
|
| |_|_|_|/
|/| | | | |
|
| | | | | |
|
| | | | | |
|
| | | | | |
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
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
|
| | | | | | |
|