| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
| | |
|
|/
|
|
|
|
|
|
|
| |
This ensures that when using OpenSSL a safe default set of ciphers
is selected. This is done so that the client communicates securely
and we don't accidentally enable unsafe ciphers like RC4, or even
worse some old export ciphers.
Implements the first part of https://github.com/libgit2/libgit2/issues/3682
|
|\
| |
| | |
rebase: additional setup tests of exotic behavior
|
| | |
|
| |
| |
| |
| |
| |
| |
| | |
Test some additional exotic rebase setup behavior: that we are
able to set up properly when already in a detached HEAD state,
that the caller specifies all of branch, upstream and onto,
and that the caller specifies branch, upstream and onto by ID.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The old implementation had two issues:
1. OIDs that were too short as to be ambiguous were not being handled
properly.
2. If the last OID to expand in the array was missing from the ODB, we
would leak a `GIT_ENOTFOUND` error code from the function.
|
|\ \
| | |
| | | |
Introduce `git_odb_expand_ids`
|
| | |
| | |
| | |
| | | |
Take (and write to) an array of a struct, `git_odb_expand_id`.
|
| | | |
|
| | |
| | |
| | |
| | |
| | | |
Query the object database for multiple objects at a time, given their
object ID (which may be abbreviated) and optional type.
|
|\ \ \
| | | |
| | | | |
Support for ssh+git and git+ssh protocols
|
| | | |
| | | |
| | | | |
ssh, ssh+git and git+ssh should all successfully build an SSH transport
|
| | | | |
|
|\ \ \ \
| | | | |
| | | | | |
commit: split creating the commit and writing it out
|
| | |/ /
| |/| |
| | | |
| | | |
| | | |
| | | | |
Sometimes you want to create a commit but not write it out to the
objectdb immediately. For these cases, provide a new function to
retrieve the buffer instead of having to go through the db.
|
|\ \ \ \
| |/ / /
|/| | | |
Enable nanosecond resolution by default
|
| | | |
| | | |
| | | |
| | | |
| | | | |
Instead of hoping that we can get a racy entry by going real fast
and praying real hard, just create a racy entry.
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
If the underlying filesystem doesn't support better than one
second resolution, then don't expect that turning on `GIT_USE_NSEC`
does anything magical to change that.
|
| | | |
| | | |
| | | |
| | | |
| | | | |
Update unit test to use newfangled `st_ctime_nsec`, which provides
indirection to the platform-correct name.
|
|/ / /
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Submodules don't exist in the objectdb and the code is making us try to
look for a blob with its commit id, which is obviously not going to
work.
Skip the test if the user wants to insert a submodule.
|
| | | |
|
| | | |
|
| | | |
|
| | |
| | |
| | |
| | |
| | | |
Use legitimate (existing) object IDs in tests so that we have the
ability to turn on strict object validation when running tests.
|
| | | |
|
| | |
| | |
| | |
| | |
| | | |
When `GIT_OPT_ENABLE_STRICT_OBJECT_CREATION` is turned on, validate
the index entries given to `git_index_add`.
|
| | |
| | |
| | |
| | |
| | | |
When `GIT_OPT_ENABLE_STRICT_OBJECT_CREATION` is turned on, validate
the tree and parent ids given to treebuilder insertion.
|
| | |
| | |
| | |
| | |
| | | |
When `GIT_OPT_ENABLE_STRICT_OBJECT_CREATION` is turned on, validate
the tree and parent ids given to commit creation functions.
|
|\ \ \
| | | |
| | | | |
Add a new build flag to disable the pool allocator
|
| | | |
| | | |
| | | |
| | | | |
git_pool_malloc calls straight to git__malloc
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
The index::nsec::staging_maintains_other_nanos test was created to
ensure that when we stage an entry when GIT_USE_NSECS is *unset* that
we truncate the index entry and do not persist the (old, invalid)
nanosec values. Ensure that when GIT_USE_NSECS is *set* that we do
not do that, and actually write the correct nanosecond values.
|
| | | | |
|
|\ \ \ \
| | | | |
| | | | | |
Remove most of the silly warnings
|
| | | | | |
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Windows defines `timeval` with `long`, which we cannot
sanely cope with. Instead, use a custom timeval struct.
|
| | | | | |
|
| | | | | |
|
|\ \ \ \ \
| | | | | |
| | | | | | |
win32: allow us to read indexes with forbidden paths on win32
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
Allow `git_index_read` to handle reading existing indexes with
illegal entries. Allow the low-level `git_index_add` to add
properly formed `git_index_entry`s even if they contain paths
that would be illegal for the current filesystem (eg, `AUX`).
Continue to disallow `git_index_add_bypath` from adding entries
that are illegal universally illegal (eg, `.git`, `foo/../bar`).
|
| | |_|/ /
| |/| | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Introduce a repository that contains some paths that were illegal
on PC-DOS circa 1981 (like `aux`, `con`, `com1`) and that in a
bizarre fit of retrocomputing, remain illegal on some "modern"
computers, despite being "new technology".
Introduce some aspirational tests that suggest that we should be
able to cope with trees and indexes that contain paths that
would be illegal on the filesystem, so that we can at least diff
them. Further ensure that checkout will not write a repository
with forbidden paths.
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
We should be checking whether the object we're looking up is a commit,
and we should let the caller know whether the not-found return code
comes from a bad object type or just a missing signature.
|
| |_|_|/
|/| | |
| | | |
| | | |
| | | |
| | | | |
When performing an in-memory rebase, keep a single index for the
duration, so that callers have the expected index lifecycle and
do not hold on to an index that is free'd out from under them.
|
|\ \ \ \
| | | | |
| | | | | |
rebase: introduce bare rebasing
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Allow callers of rebase to specify custom merge options. This may
allow custom conflict resolution, or failing fast when conflicts
are detected.
|
| | |/ /
| |/| |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Introduce the ability to rebase in-memory or in a bare repository.
When `rebase_options.inmemory` is specified, the resultant `git_rebase`
session will not be persisted to disk. Callers may still analyze
the rebase operations, resolve any conflicts against the in-memory
index and create the commits. Neither `HEAD` nor the working
directory will be updated during this process.
|
| | | | |
|
|/ / /
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
When we moved the logic to handle the first one, wrong loop logic was
kept in place which meant we still finished early. But we now notice it
because we're not reading past the last LF we find.
This was not noticed before as the last field in the tested commit was
multi-line which does not trigger the early break.
|
|\ \ \
| | | |
| | | | |
Introduce git_commit_extract_signature
|
| | |/
| |/|
| | |
| | |
| | |
| | | |
This returns the GPG signature for a commit and its contents without the
signature block, allowing for the verification of the commit's
signature.
|
|/ /
| |
| |
| |
| |
| |
| |
| | |
We were searching only past the first header field, which meant we were
unable to find e.g. `tree` which is the first field.
While here, make sure to set an error message in case we cannot find the
field.
|