Skip to content
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

Use nearest relevant commit id based on path filters (fixes #643) #662

Draft
wants to merge 3 commits into
base: main
Choose a base branch
from

Conversation

tg73
Copy link
Contributor

@tg73 tg73 commented Sep 24, 2021

This is work in progress for discussion. I've also been affected by #643 so I'm attempting a fix.

@AArnott I'd welcome comments on the general approach. I've implemented in managed only for now, plan to implement for libgit if/when the managed implementation is acceptable.

The basic idea is to leverage the work of GitWalkTracker, keeping track of the commit with greatest height (which I believe should be the relevant commit nearest to the 'current' commit, and only commits that survive path filtering are tracked).

Note the comment here - I don't have a deep enough understanding of this scenario to know what should be done.

- Height calculations now keep track of nearest relevant commit (managed only for now).
- VersionOracle uses the nearest relevant commit.
@tg73
Copy link
Contributor Author

tg73 commented Oct 2, 2021

@AArnott I'm waiting for feedback on this before proceeding. Some libgit2-based tests currently fail because they intentionally throw NotImplementedException at this time. Tools and tasks using the managed git implementation work (at least for me) and demonstrate the intended fix, and the code changes show the principle of operation. Please let me know if you require anything further.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant