summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
...
| * | | | | ci: stop using deprecated set-env in GitHub ActionsEdward Thomson2020-11-1816-24/+24
|/ / / / / | | | | | | | | | | | | | | | (And move the ci scripts into the `ci` directory.)
* | | | | Merge pull request #5659 from libgit2/ethomson/name_is_validEdward Thomson2020-11-0720-105/+365
|\ \ \ \ \ | |/ / / / |/| | | | Deprecate `is_valid_name` functions; replace with `name_is_valid` functions
| * | | | changelog: include new reference validity functionsethomson/name_is_validEdward Thomson2020-10-251-0/+15
| | | | |
| * | | | Add git_tag_name_is_validSven Strickroth2020-10-253-0/+54
| | | | | | | | | | | | | | | | | | | | Signed-off-by: Sven Strickroth <email@cs-ware.de>
| * | | | Add git_branch_name_is_validSven Strickroth2020-10-253-0/+58
| | | | | | | | | | | | | | | | | | | | Signed-off-by: Sven Strickroth <email@cs-ware.de>
| * | | | remote: deprecate git_remote_is_valid_nameEdward Thomson2020-10-253-16/+35
| | | | |
| * | | | remote: use git_remote_name_is_validEdward Thomson2020-10-252-10/+19
| | | | |
| * | | | refs: introduce git_remote_name_is_validEdward Thomson2020-10-252-7/+34
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Provide a function that can check remote name validity but can also signal when an error occurs. Use the name "name_is_valid", which is more suggestive of checking a given name, rather than "is_valid_name", which suggests that the function checks the validity of the current remote's name.
| * | | | refspec: return GIT_EINVALIDSPEC for invalid specsEdward Thomson2020-10-253-10/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Disambiguate invalid specifications in `git_refspec__parse` so that callers can determine the difference between invalid specifications and actual errors. No call sites wil propagagte this new error message to an end-user, so there is no user-facing API change.
| * | | | refs: deprecate git_reference_is_valid_nameEdward Thomson2020-10-253-28/+36
| | | | |
| * | | | refs: use git_reference_name_is_validEdward Thomson2020-10-255-32/+50
| | | | |
| * | | | refs: introduce git_reference_name_is_validEdward Thomson2020-10-253-2/+29
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Provide a function that can check reference name validity but can also signal when an error occurs. Use the name "name_is_valid", which is more suggestive of checking a given name, rather than "is_valid_name", which suggests that the function checks the validity of the current reference's name.
| * | | | refs: error checking in internal name validationEdward Thomson2020-10-253-36/+64
|/ / / / | | | | | | | | | | | | | | | | Move `git_reference__is_valid_name` to `git_reference__name_is_valid`, which returns errors and sets an out boolean parameter.
* | | | Merge pull request #5685 from staticfloat/sf/mbedtls_inc_fixEdward Thomson2020-10-211-0/+1
|\ \ \ \ | | | | | | | | | | Include `${MBEDTLS_INCLUDE_DIR}` when compiling `crypt_mbedtls.c`
| * | | | Include `${MBEDTLS_INCLUDE_DIR}` when compiling `crypt_mbedtls.c`Elliot Saba2020-10-201-0/+1
|/ / / / | | | | | | | | | | | | | | | | | | | | 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.
* | | | Merge pull request #5668 from libgit2/ethomson/tlsdataEdward Thomson2020-10-141-1/+1
|\ \ \ \ | | | | | | | | | | threadstate: rename tlsdata when building w/o threads
| * | | | threadstate: rename tlsdata when building w/o threadsEdward Thomson2020-10-141-1/+1
|/ / / /
* | | | Merge pull request #5546 from libgit2/ethomson/initEdward Thomson2020-10-1440-493/+588
|\ \ \ \ | | | | | | | | | | Refactor "global" state
| * | | | Move libgit2 settings into libgit2.cethomson/initEdward Thomson2020-10-113-331/+331
| | | | |
| * | | | Rename global.c to libgit2.cEdward Thomson2020-10-111-0/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
| * | | | runtime: move init/shutdown into the "runtime"Edward Thomson2020-10-1127-226/+262
| | | | | | | | | | | | | | | | | | | | | | | | | Provide a mechanism for system components to register for initialization and shutdown of the libgit2 runtime.
| * | | | thread: don't use the global tlsdata for thread exitEdward Thomson2020-10-112-11/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
| * | | | thread: restore the git_thread_exit testsEdward Thomson2020-10-111-1/+7
| | | | | | | | | | | | | | | | | | | | We were never properly testing git_thread_exit. Do so.
| * | | | global: separate global state from thread-local stateEdward Thomson2020-10-117-239/+258
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
| * | | | global init: check error message buffer allocationEdward Thomson2020-10-111-2/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
| * | | | mwindow: localize mutexEdward Thomson2020-10-115-18/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Move the mwindow mutex into the mwindow code itself, initializing it in the mwindow global initialization function instead of in the global initializer.
| * | | | settings: localize global dataEdward Thomson2020-10-117-20/+39
| | | | | | | | | | | | | | | | | | | | | | | | | Move the settings global data teardown into its own separate function, instead of intermingled with the global state.
| * | | | win32: teach the allocator to deal with crtdbgEdward Thomson2020-10-113-15/+21
| | | | | | | | | | | | | | | | | | | | | | | | | Move the MSVC C runtime debugging bits into the allocator's global init function.
| * | | | init: move thread init to git_global_threads_initEdward Thomson2020-10-115-5/+7
| | | | | | | | | | | | | | | | | | | | | | | | | Instead of treating win32 thread initialization specially in the win32 git_libgit2_init function, add a git_global_threads_init function.
* | | | | Merge pull request #5661 from lhchavez/windows-leak-detection-deflakeEdward Thomson2020-10-143-94/+102
|\ \ \ \ \ | | | | | | | | | | | | Make the Windows leak detection more robust
| * | | | | Make the Windows leak detection more robustlhchavez2020-10-113-94/+102
| |/ / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* | | | | Merge pull request #5664 from lhchavez/define-non-threadsafe-git-loadEdward Thomson2020-10-141-0/+5
|\ \ \ \ \ | | | | | | | | | | | | Define `git___load` when building with `-DTHREADSAFE=OFF`
| * | | | | Define `git___load` when building with `-DTHREADSAFE=OFF`lhchavez2020-10-131-0/+5
| | |_|_|/ | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | This should allow folks that build in non-thread-safe environments to still be able to build the library. Fixes: #5663
* | | | | Merge pull request #5658 from libgit2/ethomson/ntlm_htonllEdward Thomson2020-10-145-42/+23
|\ \ \ \ \ | |/ / / / |/| | | | ntlm: update ntlm dependency for htonll
| * | | | ntlm: update ntlm dependency for htonllethomson/ntlm_htonllEdward Thomson2020-10-115-42/+23
| |/ / / | | | | | | | | | | | | | | | | Update ntlm to include an htonll that is not dependent on system libraries.
* | | | Merge pull request #5660 from libgit2/ethomson/v1.1v1.1.0Edward Thomson2020-10-124-5/+94
|\ \ \ \ | |/ / / |/| | | libgit2 v1.1.0
| * | | Release v1.1ethomson/v1.1Edward Thomson2020-10-123-5/+5
| | | |
| * | | changelog: document changes since v1.1Edward Thomson2020-10-121-0/+89
|/ / /
* | | Merge pull request #5649 from libgit2/ethomson/pcreEdward Thomson2020-10-115-26/+130
|\ \ \ | | | | | | | | Update PCRE to 8.44
| * | | pcre: upgrade to 8.44ethomson/pcreEdward Thomson2020-10-045-25/+26
| | | |
| * | | pcre: upgrade to 8.43Edward Thomson2020-10-044-12/+22
| | | |
| * | | pcre: include the licenseEdward Thomson2020-10-041-0/+93
| | | | | | | | | | | | | | | | | | | | We included their COPYING file, which was _not_ in fact their license. Add the LICENSE file as well.
* | | | Merge pull request #5651 from libgit2/ethomson/clone_branchEdward Thomson2020-10-112-17/+56
|\ \ \ \ | | | | | | | | | | clone: update origin's HEAD
| * | | | clone: update origin's HEADEdward Thomson2020-10-061-16/+50
| | | | | | | | | | | | | | | | | | | | | | | | | Update `refs/remotes/origin/HEAD` as a symbolic link to the remote's default branch.
| * | | | clone: test that the origin HEAD is createdEdward Thomson2020-10-061-1/+6
| | | | | | | | | | | | | | | | | | | | | | | | | Ensure that we created `refs/remotes/origin/HEAD` when cloning, a symbolic link pointing to `refs/remotes/origin/<default>`
* | | | | Merge pull request #5594 from lhchavez/git-atomicsEdward Thomson2020-10-117-41/+171
|\ \ \ \ \ | | | | | | | | | | | | Improve the support of atomics
| * | | | | Avoid using atomics in pool.clhchavez2020-10-084-17/+27
| | | | | | | | | | | | | | | | | | | | | | | | Instead, globally initialize the system page size.
| * | | | | Improve the support of atomicslhchavez2020-10-085-32/+152
|/ / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* | | | | Merge pull request #5656 from ehuss/fix-check_extensions-errEdward Thomson2020-10-081-2/+2
|\ \ \ \ \ | | | | | | | | | | | | Fix error return for invalid extensions.
| * | | | | Fix error return for invalid extensions.Eric Huss2020-10-071-2/+2
|/ / / / /