-
Notifications
You must be signed in to change notification settings - Fork 5
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merge tag 'v1.8.1' #7
base: master
Are you sure you want to change the base?
Conversation
orgads
commented
Jun 5, 2024
•
edited
Loading
edited
- Fixes vulnerabilities from original libgit2 not fixed here #5
- Fixes Merge from upstream libgit2 #6
- Fixes [BUG]No data for SHA256-based git repos powerlevel10k#2703
Ensure that the main builds are all identical in nightly. Nightly should only add new, specialized builds.
ci: improvements to prepare for Cygwin support
Minor bug fixes
blame example: Fix support for line range in CLI
Bypass shallow clone support for in-memory repositories
examples: use unsigned int for bitfields
zlib: upgrade bundled zlib to v1.3
Passing a function pointer with different parameters is UB, even if those params are (void *). Use our separate `_cb` functions that will do the correct casting.
`git_commit_create_v` takes _commits_ not _commit ids_. Fix the test to call the API correctly.
Fix some bugs caught by UBscan
Some static code analysis complains that we're putting a stack variable into client->parser.data (which persists past the function calls). Clear that on function exit to avoid confusion.
git_diff_find_similar doesn't always remove unmodified deltas
ntlmclient: update to latest upstream ntlmclient
httpclient: clear client->parser.data after use
Let's use the latest & greatest for building our sanitizer / fuzzing builds.
Using modern rsa (sha2-256 or sha2-512) with libssh2 is complicated and depends on numerous factors for support. Just use ecdsa, which is supported by both libssh2 v1.11.0 and modern OpenSSH (which we use for our server in CI).
Yet more CI improvements
…n-push-example Support authentication in push example
Emulating `git commit` is clunky - identifying your commit's parents is part of the problem. Provide a helper to give you the parents given the current repository state.
There's been drift in our nightly builds vs our main builds. Unfortunately, sharing steps remains clunky with our matrix-heavy setup. So this remains copy-pasta.
Signed-off-by: Sven Strickroth <[email protected]>
Revparse: Correctly accept ref with '@' at the end
remote: drop bitfields in git_remote_fetch_options
examples: fix memory leak in for-each-ref.c
Promote mode to `uint32_t` before comparing it to an `uint16_t` to avoid mixed signed comparison warnings.
Avoid sloppy aliasing in our (re-)allocation, which is undefined behavior. This has been problematic before and was helped by `volatile` (see b62a6a1) but that is not technically correct, and some compilers / architectures do not understand that `ptr` is changing due to its aliasing. Just make `git_array_alloc` behave like `realloc`, taking a `void *` and returning a `void *`.
xdiff: use proper free function
rand: avoid uninitialized loadavg warnings
cli: include alloca on illumos / solaris / sunos
Update git_array allocator to obey strict aliasing rules
…ness tree: avoid mixed signedness comparison
libgit2 v1.8.1
It compiles now. Functionality is completely untested :) I'll try to test it later, but I'm unsure what exactly requires testing. |
Do you see a way for me to verify the correctness of this merge without redoing all the work you've done? |
It will be easier to review the merge by inspecting your changes. I created a tag in my fork named v1.8.1-stripped, that is v1.8.1 with removed tests, fuzzers and .github. You can fetch my fork, and compare v1.8.1-stripped to romkatv-1.8.1. |
This doesn't seem to make the job easier for me compared to doing the merge from scratch. With the hindsight it seems obvious given that there are no tests in my fork, and that my changes break the original tests. I suggest that we abandon this merge. I apologize for making you spend your time based on my misleading promise. |
I can try to create 2 diffs - one for your current master against libgit2 base, and another one for this merge against v1.8.1. Then you can compare the diffs. I think this should be feasible. |
Sorry, I cannot sign up for this. I've just put the following disclaimer at the top of https://github.com/romkatv/gitstatus:
Note that powerlvel10k already had this disclaimer. |
I understand you. I prepared the patch files, if you decide to give it a look. Done by:
The output is still not short, but it looks feasible to compare. I ran tests with lg2 of before and after, and it's still considerably faster with your patches compare to upstream. For vscode repo, it takes ~3.5s with upstream, and around 2.3s with the patched one (times before and after the merge are similar). |