- 14 Jan, 2019 2 commits
-
-
Fix crash on remote connection when GIT_PROXY_AUTO is set but no proxy is detected
Edward Thomson committed -
Jason Haslam committed
-
- 10 Jan, 2019 4 commits
-
-
Make ENABLE_WERROR actually work
Edward Thomson committed -
Remove unconditional -Wno-deprecated-declaration on macOS
Edward Thomson committed -
After taking into consideration the following, I think this should be removed : - OpenSSL isn't the default on Apple platforms - you have to jump through hoops to get CMake to use OpenSSL on macOS (headers aren't in `/usr/include`, so you have to provide `-DOPENSSL_*` overrides) - users are likely (as getting anywhere near the installed 0.9.8 version is insanity IMHO) to package a "modern" version, which wouldn't be marked as deprecated
Etienne Samson committed -
This change explicitly adds -Werror to the CFLAGS. Due to the way that the ADD_C_FLAG_IF_SUPPORTED() macro was mangling the flag name to convert it into a define name, any warning that had a dash in its name was not being correctly enabled. Additionally, any flag that is enabled implicitly by the compiler (like -Wunused-result and -Wdeprecated-declarations) would not cause an error unless they were explicitly enabled with the ENABLE_WARNINGS() macro.
lhchavez committed
-
- 09 Jan, 2019 3 commits
-
-
Fix warning 'function': incompatible types - from 'git_cvar_value *' to 'int *' (C4133) on VS
Edward Thomson committed -
Fix Linux warnings
Edward Thomson committed -
This change fixes -Wmaybe-uninitialized and -Wdeprecated-declarations warnings on Linux builds
lhchavez committed
-
- 08 Jan, 2019 1 commit
-
-
Coverity fixes
Edward Thomson committed
-
- 07 Jan, 2019 1 commit
-
-
Signed-off-by: Sven Strickroth <email@cs-ware.de>
Sven Strickroth committed
-
- 04 Jan, 2019 6 commits
-
-
Coverity considers that anything that looks like assert() behaves like it (ie. side-effects would be skipped on a NDEBUG build). As we have a bunch of those in the test suite (128), this would ensure Coverity isn't confused.
Etienne Samson committed -
CID 1398597, 1398598
Etienne Samson committed -
CID 1382962
Etienne Samson committed -
CID 1386176, 1386177, 1388219
Etienne Samson committed -
Previously, an error in `git_config_next` would be mistaken as a successful load, because the previous call would have succeeded. Coverity saw the subsequent check for a completed iteration as dead, so let's make it useful again. CID 1391374
Etienne Samson committed -
CID 1395011
Etienne Samson committed
-
- 03 Jan, 2019 2 commits
-
-
Shutdown callback count
Edward Thomson committed -
Update CRLF filtering to match modern git
Edward Thomson committed
-
- 02 Jan, 2019 2 commits
-
-
We currently have an explicit callchain of all the initialization callbacks in our `init_common` function. This is perfectly fine, but requires us to manually keep track of how many shutdown callbacks there may be installed: to avoid allocations before libgit2 is fully initialized, we assume that every initializer may register at most one shutdown function. These shutdown functions are stored in a static array of size `MAX_SHUTDOWN_CB`, which then needs to be updated manually whenever a new initializer function is being added. The situation can be easily fixed: convert the callchain of init functions into an array and iterate over it to initialize all subsystems. This allows us to define the `git__shutdown_callbacks` array with the same size as the initializer array and rids us of the need to always update `MAX_SHUTDOWN_CB`.
Patrick Steinhardt committed -
The `git_hash_global_init` function is simply defined as a macro to zero for most of the different hash implementations. This makes it impossible to treat it like a function pointer, which is required for a later commit where we want to improve the way global initialization works. Fix the issue by converting all no-op macros to an inline function returning zero. There's a small gotcha here, though: as most hash implementations only have a header file, but not a corresponding implementation file, we cannot declare the function as non-static. But declaring it as `static inline` fails, too, as there is a previous declaration as non-static. So we have to move the function declaration after the include that brings in the function definition, as it is allowed to have a non-static declaration after a static definition, but not the other way round.
Patrick Steinhardt committed
-
- 19 Dec, 2018 5 commits
-
-
Wrap function calls in the `checkout::crlf` tests with `cl_git_pass`, `cl_assert`, etc. to ensure that they're successful.
Edward Thomson committed -
refdb_fs: refactor error handling in `refdb_reflog_fs__delete`
Edward Thomson committed -
The function `refdb_reflog_fs__delete` uses the `if (!error && foobar())` pattern of checking, where error conditions are being checked by following calls to different code. This does not match our current style, where the call-site of a function is usually directly responsible for checking the return value. Convert the function to use `if ((error = foobar()) < 0) goto out;` style. Note that this changes the code flow a bit: previously, we were always trying to delete empty reference hierarchies even if deleting the reflog entry has failed. This wasn't much of a problem -- if deletion failed, the hierarchy will still contain at least one file and thus the function call was an expensive no-op. Now, we will only perform this deletion if we have successfully removed the reflog.
Patrick Steinhardt committed -
Remove empty (sub-)directories when deleting refs
Patrick Steinhardt committed -
Support creating annotated commits from annotated tags
Patrick Steinhardt committed
-
- 14 Dec, 2018 3 commits
-
-
We want to allow the creation of annotated commits out of annotated tags and for that we have to peel the reference all the way to the commit instead of stopping at the first id it provides.
Carlos Martín Nieto committed -
We have no need to take a non-const reference. This does involve some other work to make sure we don't mix const and non-const variables, but by splitting what we want each variable to do we can also simplify the logic for when we do want to free a new reference we might have allocated.
Carlos Martín Nieto committed -
Carlos Martín Nieto committed
-
- 06 Dec, 2018 2 commits
-
-
Fix segfault in loose_backend__readstream
Edward Thomson committed -
Joe Rabinoff committed
-
- 05 Dec, 2018 1 commit
-
-
make proxy_stream_close close target stream even on errors
Edward Thomson committed
-
- 04 Dec, 2018 8 commits
-
-
When git_filter_apply_fn callback returns a error while smudging proxy_stream_close ends up returning without closing the stream. This is turn makes blob_content_to_file crash as it asserts the stream being closed whether there are errors or not. Closing the target stream on error fixes this problem.
Anders Borum committed -
Joe Rabinoff committed
-
If the routine exits with error before stream or hash_ctx is initialized, the program will segfault when trying to free them.
Joe Rabinoff committed -
This is a cherry-pick of the tests from the following commits: core.autocrlf=true and core.safecrlf=true did not fail on LF-only file as vanilla git does Adding a CRLF-file with core.autocrlf=input and core.safecrlf=true does not fail as with vanilla git Make files with #CR!=#CRLF not fail with core.safecrlf=true Reported-by: Yue Lin Ho <b8732003@student.nsysu.edu.tw> Signed-off-by: Sven Strickroth <email@cs-ware.de>
Sven Strickroth committed -
Examine the recent CRLF changes to git by Torsten Bögershausen and include similar changes to update our CRLF logic to match. Note: Torsten Bögershausen has previously agreed to allow his changes to be included in libgit2.
Edward Thomson committed -
Don't simply fail when the expected output does not match the data in the index; instead, provide a detailed output about the system, file, and settings that caused the failure so that developers can better isolate the problem(s).
Edward Thomson committed -
Edward Thomson committed
-
Given a variety of combinations of core.autocrlf, core.safecrlf settings and attributes settings, test that we add files to index the same way (regarding OIDs and fatal errors) as a known-good test resource created by git.git. Signed-off-by: Sven Strickroth <email@cs-ware.de>
Sven Strickroth committed
-