| Commit message (Collapse) | Author | Age | Files | Lines |
| | |
|
| | |
|
| |
|
|
|
| |
The win32 leakchecking system is now named win32_leakcheck. Update the
allocator to match.
|
| |
|
|
|
| |
Move leak check initialization into git_win32_leakcheck_global_init, and
call it on library initialization.
|
| |
|
|
|
| |
msvc crtdbg is a mouthfull that is not particularly indicative of what
it does. Let's rename it to "win32 leakcheck".
|
| |\
| |
| | |
Include `${MBEDTLS_INCLUDE_DIR}` when compiling `crypt_mbedtls.c`
|
| |/
|
|
|
|
| |
Without this, mbedTLS installs in non-default install locations
that are otherwise found by the `FindmbedTLS.cmake` module are not
found by the C preprocessor at compile time.
|
| |\
| |
| | |
threadstate: rename tlsdata when building w/o threads
|
| |/ |
|
| |\
| |
| | |
Refactor "global" state
|
| | | |
|
| | |
| |
| |
| |
| |
| |
| | |
Now that we've identified that our global settings really aren't global
at all, and refactored the library to match that, change global.c to
libgit2.c, which is especially nice since the prefix of the functions
matches the filename.
|
| | |
| |
| |
| |
| | |
Provide a mechanism for system components to register for initialization
and shutdown of the libgit2 runtime.
|
| | |
| |
| |
| |
| |
| | |
We want to store a pointer to emulate `pthread_exit` on Windows. Do
this within the threading infrastructure so that it could potentially be
re-used outside of the context of libgit2 itself.
|
| | |
| |
| |
| | |
We were never properly testing git_thread_exit. Do so.
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Our "global initialization" has accumulated some debris over the years.
It was previously responsible for both running the various global
initializers (that set up various subsystems) _and_ setting up the
"global state", which is actually the thread-local state for things
like error reporting.
Separate the thread local state out into "threadstate". Use the normal
subsystem initialization functions that we already have to set it up.
This makes both the global initialization system and the threadstate
system simpler to reason about.
|
| | |
| |
| |
| |
| |
| | |
Ensure that we can allocate the error message buffer. In keeping with
our typical policiess, we allow (small) memory leaks in the case where
we're out of memory.
|
| | |
| |
| |
| |
| |
| | |
Move the mwindow mutex into the mwindow code itself, initializing it in
the mwindow global initialization function instead of in the global
initializer.
|
| | |
| |
| |
| |
| | |
Move the settings global data teardown into its own separate function,
instead of intermingled with the global state.
|
| | |
| |
| |
| |
| | |
Move the MSVC C runtime debugging bits into the allocator's global init
function.
|
| | |
| |
| |
| |
| | |
Instead of treating win32 thread initialization specially in the win32
git_libgit2_init function, add a git_global_threads_init function.
|
| |\ \
| | |
| | | |
Make the Windows leak detection more robust
|
| | |/
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This change:
* Increases MY_ROW_LIMIT to 2M, since it has been failing in #5595's
tests since it's _super_ close to the limit.
* Calls `git_repository_free()` on a `git_repository` that was being
leaked only in Windows.
* Marks the global `git_repository` on `tests/repo/init.c` as `NULL`
after being freed to make any accidental access more noisy.
* Uses `cl_assert_equal_i()` in `test_trace_windows_stacktrace__leaks`
to make the test failures more actionable.
* Renames the globals in `tests/repo/init.c` so that they don't start
with an underscore.
|
| |\ \
| | |
| | | |
Define `git___load` when building with `-DTHREADSAFE=OFF`
|
| | | |
| | |
| | |
| | |
| | |
| | |
| | | |
This should allow folks that build in non-thread-safe environments to
still be able to build the library.
Fixes: #5663
|
| |\ \ \
| |/ /
|/| | |
ntlm: update ntlm dependency for htonll
|
| | |/
| |
| |
| |
| | |
Update ntlm to include an htonll that is not dependent on system
libraries.
|
| |\ \
| |/
|/| |
libgit2 v1.1.0
|
| | | |
|
| |/ |
|
| |\
| |
| | |
Update PCRE to 8.44
|
| | | |
|
| | | |
|
| | |
| |
| |
| |
| | |
We included their COPYING file, which was _not_ in fact their license.
Add the LICENSE file as well.
|
| |\ \
| | |
| | | |
clone: update origin's HEAD
|
| | | |
| | |
| | |
| | |
| | | |
Update `refs/remotes/origin/HEAD` as a symbolic link to the remote's
default branch.
|
| | | |
| | |
| | |
| | |
| | | |
Ensure that we created `refs/remotes/origin/HEAD` when cloning, a
symbolic link pointing to `refs/remotes/origin/<default>`
|
| |\ \ \
| | | |
| | | | |
Improve the support of atomics
|
| | | | |
| | | |
| | | |
| | | | |
Instead, globally initialize the system page size.
|
| |/ / /
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
This change:
* Starts using GCC's and clang's `__atomic_*` intrinsics instead of the
`__sync_*` ones, since the former supercede the latter (and can be
safely replaced by their equivalent `__atomic_*` version with the
sequentially consistent model).
* Makes `git_atomic64`'s value `volatile`. Otherwise, this will make
ThreadSanitizer complain.
* Adds ways to load the values from atomics. As it turns out,
unsynchronized read are okay only in some architectures, but if we
want to be correct (and make ThreadSanitizer happy), those loads
should also be performed with the atomic builtins.
* Fixes two ThreadSanitizer warnings, as a proof-of-concept that this
works:
- Avoid directly accessing `git_refcount`'s `owner` directly, and
instead makes all callers go through the `GIT_REFCOUNT_*()` macros,
which also use the atomic utilities.
- Makes `pool_system_page_size()` race-free.
Part of: #5592
|
| |\ \ \
| | | |
| | | | |
Fix error return for invalid extensions.
|
| |/ / / |
|
| |\ \ \
| |/ /
|/| | |
Change bare free to allocator free (fixes #5653)
|
| |/ /
| |
| |
| |
| | |
The info pointer was allocated with git__malloc, so needs to be free'd with git__free.
This bug can lurk pretty easily since if there's no custom allocator this is fine.
|
| |\ \
| | |
| | | |
midx: Introduce a parser for multi-pack-index files
|
| |/ /
| |
| |
| |
| |
| |
| | |
This change is the first in a series to add support for git's
multi-pack-index. This should speed up large repositories significantly.
Part of: #5399
|
| |\ \
| | |
| | | |
Fixed typo in comment
|
| | | |
| | |
| | | |
occured -> occurred
|
| |\ \ \
| |_|/
|/| | |
Fix binary diff showing /dev/null
|
| | | |
| | |
| | |
| | |
| | |
| | | |
Fixes issue where a changed binary file's content in the working
tree isn't displayed correctly, instead showing an oid of zero,
and with its path being reported incorrectly as "/dev/null".
|