romkatv / libgit2

A cross-platform, linkable library implementation of Git that you can use in your application.
https://libgit2.org/
Other
7 stars 3 forks source link

Merge tag 'v1.8.1' #7

Open orgads opened 3 months ago

orgads commented 3 months ago
orgads commented 3 months ago

It compiles now. Functionality is completely untested :)

I'll try to test it later, but I'm unsure what exactly requires testing.

romkatv commented 3 months ago

Do you see a way for me to verify the correctness of this merge without redoing all the work you've done?

orgads commented 3 months ago

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.

romkatv commented 3 months ago

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.

orgads commented 3 months ago

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.

romkatv commented 3 months ago

Sorry, I cannot sign up for this.

I've just put the following disclaimer at the top of https://github.com/romkatv/gitstatus:

  • THE PROJECT HAS VERY LIMITED SUPPORT
  • NO NEW FEATURES ARE IN THE WORKS
  • MOST BUGS WILL GO UNFIXED

Note that powerlvel10k already had this disclaimer.

orgads commented 3 months ago

I understand you. I prepared the patch files, if you decide to give it a look.

Done by:

git ls-files src | sed 's:.*/:**/*:; s/fs_path/path/' | sort -u > order
git diff -O order 7f4fa178629d559c037a1f72f79f79af9c1ef8ce 2ecf33948a4df9ef45a66c68b8ef24a5e60eaac6 -- src | grep -v '^index' > orig.patch
git diff -O order HEAD^2 HEAD -- src | grep -v '^index' > merged.patch

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).

orig.patch merged.patch