- 23 Dec, 2021 4 commits
-
-
Better revparse compatibility for at time notation
Edward Thomson committed -
Fix a long long that crept past
Edward Thomson committed -
cmake: use project-specific root variable instead of CMAKE_SOURCE_DIR
Edward Thomson committed -
Also applies to *_BINARY_DIR. This effectively reverts 84083dcc, which broke all users of libgit2 that use it as a CMake subdirectory (via `add_subdirectory()`). This is because CMAKE_SOURCE_DIR refers to the root-most CMake directory, which in the case of `add_subdirectory()` is a parent project to libgit2 and thus the paths don't make any sense to the configuration files. Corollary, CMAKE_SOURCE_DIR only makes sense if the CMake project is always the root project - which can rarely be guaranteed. In all honesty, CMake should deprecate and eventually remove CMAKE_SOURCE_DIR and CMAKE_BINARY_DIR. It's been the source of headaches and confusion for years, they're rarely useful over CMAKE_CURRENT_(SOURCE|BINARY)_DIR or PROJECT_(SOURCE|BINARY)_DIR, and they cause a lot of confusing configuration and source code layouts to boot. Any time they are used, they break `add_subdirectory()` almost 100% of the time, cause confusing error messages, and hide subtle bugs.
Josh Junon committed
-
- 12 Dec, 2021 1 commit
-
-
Calvin Buckley committed
-
- 05 Dec, 2021 1 commit
-
-
Introduce `git_object_rawcontent_is_valid`
Edward Thomson committed
-
- 01 Dec, 2021 3 commits
-
-
Users may want to validate raw object content; provide them a function to do so.
Edward Thomson committed -
Return `GIT_EINVALID` on parse errors so that direct callers of parse functions can determine when there was a failure to parse the object. The object parser functions will swallow this error code to prevent it from propagating down the chain to end-users. (`git_merge` should not return `GIT_EINVALID` when a commit it tries to look up is not valid, this would be too vague to be useful.) The only public function that this affects is `git_signature_from_buffer`, which is now documented as returning `GIT_EINVALID` when appropriate.
Edward Thomson committed -
Minor code cleanups
Edward Thomson committed
-
- 23 Nov, 2021 1 commit
-
-
Conflicts: src/revparse.c
Yoichi Nakayama committed
-
- 22 Nov, 2021 6 commits
-
-
Fix repo init when template dir is non-existent
Edward Thomson committed -
Edward Thomson committed
-
Instead of using the project-specific `libgit2_SOURCE_DIR` and `libgit2_BINARY_DIR` variables, use `CMAKE_SOURCE_DIR` and `CMAKE_BINARY_DIR`.
Edward Thomson committed -
The filebuf functions should use hashes directly, not indirectly using the oid functions.
Edward Thomson committed -
The tests that examine sha1 behavior (including collision detection) should test against the hash functionality directly, not indirectly using the oid functions.
Edward Thomson committed -
Remove some unnecessary includes from utility code.
Edward Thomson committed
-
- 19 Nov, 2021 3 commits
-
-
Edward Thomson committed
-
util: minor cleanup and refactoring to the date class
Edward Thomson committed -
Edward Thomson committed
-
- 18 Nov, 2021 1 commit
-
-
Instead of `git__date`, just use `git_date`.
Edward Thomson committed
-
- 17 Nov, 2021 5 commits
-
-
cmake: re-enable WinHTTP
Edward Thomson committed -
Edward Thomson committed
-
Ensure that we `enable_testing()` at the top-level CMakeLists.txt or else we'll need to navigate within the build directory to the correct place in the hierarchy to run `ctest`. Now we can `ctest` at the top-level again.
Edward Thomson committed -
tag: set validity to 0 by default
Edward Thomson committed -
`git_tag_name_is_valid` needs to set validity to 0 when it short-circuits.
Edward Thomson committed
-
- 16 Nov, 2021 1 commit
-
-
Edward Thomson committed
-
- 15 Nov, 2021 4 commits
-
-
Peter Pettersson committed
-
Peter Pettersson committed
-
Peter Pettersson committed
-
Peter Pettersson committed
-
- 14 Nov, 2021 9 commits
-
-
cmake: further refactorings
Edward Thomson committed -
The select hashes module selects the hash; the CMakeLists.txt selects the files to implement it.
Edward Thomson committed -
Edward Thomson committed
-
Update the global variables `LIBGIT2_OBJECTS` to `LIBGIT2_DEPENDENCY_OBJECTS` for clarity and consistency.
Edward Thomson committed -
Apply the standard project cmake formatting to the modules.
Edward Thomson committed -
Edward Thomson committed
-
Edward Thomson committed
-
When building under gcc 11, there is a warning about an incompatible pointer type, since [`__atomic_exchange`](https://gcc.gnu.org/onlinedocs/gcc/_005f_005fatomic-Builtins.html) does not take `volatile` pointers: ``` In file included from ../src/common.h:81, from ../src/transports/winhttp.c:8: ../src/thread-utils.h: In function ‘git___swap’: ../src/thread-utils.h:168:9: warning: argument 3 of ‘__atomic_exchange’ discards ‘volatile’ qualifier [-Wincompatible-pointer-types] 168 | __atomic_exchange(ptr, &newval, &foundval, __ATOMIC_SEQ_CST); | ^~~~~~~~~~~~~~~~~ ``` This change drops the `volatile` qualifier so that the pointer type matches what `__atomic_exchange` expects.
lhchavez committed -
When building under gcc 11, there is a warning about a misaligned guard clause because there were mixed spaces and tabs: ``` [128/634] Building C object src/CMakeFiles/git2internal.dir/threadstate.c.o ../src/threadstate.c: In function ‘threadstate_dispose’: ../src/threadstate.c:39:5: warning: this ‘if’ clause does not guard... [-Wmisleading-indentation] 39 | if (threadstate->error_t.message != git_str__initstr) | ^~ ../src/threadstate.c:41:9: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the ‘if’ 41 | threadstate->error_t.message = NULL; | ^~~~~~~~~~~ ../src/threadstate.c: At top level: ``` This change indents the code with tabs for consistency with the rest of the code, which makes the warning go away.
lhchavez committed
-
- 12 Nov, 2021 1 commit
-
-
Jason Nader committed
-