Age | Commit message (Collapse) | Author |
|
|
|
Support for ssh+git and git+ssh protocols
|
|
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.
|
|
Update link to Pro Git's Git internals chapter
|
|
|
|
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.
|
|
treebuilder: don't try to verify submodules exist in the odb
|
|
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.
|
|
ssh: initialize libssh2
|
|
We should have been doing this, but it initializes itself upon first
use, which works as long as nobody's doing concurrent network
operations. Initialize it on our init to make sure it's not getting
initialized concurrently.
|
|
Expand OpenSSL and libssh2 thread safety documentation
|
|
Nanosecond resolution is now the default in git itself. Enable this
as our default as well.
|
|
|
|
|
|
|
|
|
|
test: make sure we retry the auth callback on all platforms
|
|
|
|
xdiff: fix memleak on error case
|
|
If the caller has provided bad authentication, give them another
apportunity to get it right until they give up. This brings WinHTTP in
line with the other transports.
|
|
We were missing this test on Windows, which meant we didn't notice that
we never fixed the single authentication attempt it tries, nor its wrong
return code.
Enable this for the unix platforms as well over HTTP. We previously were
doing it locally but disabled it on OS X due to issues with its sshd not
accepting password authentication.
|
|
|
|
Stricter object dependency checking during creation
|
|
Commit 3d1abc5afce fixes a memory leak in the xdiff code. In the
process of upstreaming the fix it was pointed out by Johannes
Schindelin that there is another memory leak present (see [1]).
Fix the second memory leak by applying the upstream fix to our
code base.
[1]: http://thread.gmane.org/gmane.comp.version-control.git/287034
|
|
Few p_getaddrinfo fixes
|
|
|
|
Use legitimate (existing) object IDs in tests so that we have the
ability to turn on strict object validation when running tests.
|
|
|
|
This allows lighter weight validation in `git_object__is_valid` that
does not require reading the entire object.
|
|
When `GIT_OPT_ENABLE_STRICT_OBJECT_CREATION` is turned on, validate
the index entries given to `git_index_add`.
|
|
travis ci: enable debug pool for valgrind builds
|
|
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
|
|
|
|
|
|
USE_NSECS fixes
|
|
Coverity fixes
|
|
Extra checks for packfile indices
|
|
Android NDK does not have a `struct timespec` in its `struct stat`
for nanosecond support, instead it has a single nanosecond member inside
the struct stat itself. We will use that and use a macro to expand to
the `st_mtim` / `st_mtimespec` definition on other systems (much like
the existing `st_mtime` backcompat definition).
|
|
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.
|
|
|
|
A corrupt index might have data that tells us to go look past the end of
the file for data. Catch these cases and return an appropriate error
message.
|