| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
|
| |
When a `check` or `apply` callback function returns `GIT_PASSTHROUGH`,
move on to the default merge driver.
|
|
|
|
|
|
|
|
| |
Consumers can now register custom merged drivers with
`git_merge_driver_register`. This allows consumers to support the
merge drivers, as configured in `.gitattributes`. Consumers will be
asked to perform the file-level merge when a custom driver is
configured.
|
| |
|
|\
| |
| | |
commit: add function to attach a signature to a commit
|
| |
| |
| |
| |
| | |
In combination with the function which creates a commit into a buffer,
this allows us to more easily create signed commits.
|
|\ \
| | |
| | | |
Test memleaks
|
| | | |
|
| |/
| |
| |
| |
| |
| | |
git_buf_clear does not free allocated memory associated with a
git_buf. Use `git_buf_free` instead to correctly free its memory
and plug the memory leak.
|
| |
| |
| |
| |
| |
| |
| |
| | |
The function to extract signatures suffers from a similar bug to the
header field finding one by having an unecessary line feed check as a
break condition of its loop.
Fix that and add a test for this single-line signature situation.
|
| | |
|
|/
|
|
|
|
|
|
|
| |
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.
|