Skip to content

Conversation

@Byron
Copy link
Collaborator

@Byron Byron commented Nov 7, 2024

This PR is the result of a learning experience that ultimately led me here.
As a result, gitoxide now provides Repository::merge_base_octopus() which will be a little bit faster on its own, but can be substantially faster when used with a re-used graph data structure.

Even though this PR doesn't do graph re-use yet, the more gitoxide is used, the more likely it is that this becomes possible.

Tasks

  • update gitoxide to access the latest features
  • remove the second to last usage of merge_base_octopussy()
    • The last usage is in a spot where l() is used, and ideally that will also have a gitoxide variant so the whole function can be converted as a whole.

Notes for the Reviewer

  • There is also a way to create virtual merge bases directly which allows to use all the most advanced features of merge-ORT here, but if octopus is used for all merge-bases, it turns out to have no relevance.
    Part of me still thinks that maybe there is a way to leverage it, but it's good for nothing if the normal merge-base computation is order-dependent.

@vercel
Copy link

vercel bot commented Nov 7, 2024

@Byron is attempting to deploy a commit to the GitButler Team on Vercel.

A member of the Team first needs to authorize it.

@github-actions github-actions bot added the rust Pull requests that update Rust code label Nov 7, 2024
@krlvi krlvi requested a review from Caleb-T-Owens November 7, 2024 21:58
@Byron Byron mentioned this pull request Nov 8, 2024
8 tasks
Copy link
Contributor

@Caleb-T-Owens Caleb-T-Owens left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM 👍

Just like Git in merge-ORT, a virtual merge base helps to deal with multiple
merge bases which can happen more easily when more than two commits are involved.
@Byron Byron enabled auto-merge November 12, 2024 14:34
@Byron Byron merged commit 4e1f17d into gitbutlerapp:master Nov 12, 2024
17 of 18 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

rust Pull requests that update Rust code

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants