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

Implement a flat recursive resolver #264

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

Conversation

daniel-brosche
Copy link
Collaborator

@daniel-brosche daniel-brosche commented Jun 25, 2021

First try to implement the flat hierarchy resolution strategy as described here #128

The following resolver-strategies are implemented:

  • recursive-nested: this is default resolver and represents the well known basic gitman recursive nested resolution strategy
  • flat: enforce gitman to ignore nested gitman.yml-files is similar as -d 1 (as described here Add recurse option in config #235).
  • recursive-flat: resolves all nested depedencies in a flat manner as described in Flat hierarchy resolution #128 + Possible Feature Request - Nested Dependencies Organization #175
  • recursive-flat-nested-links: is basically recursive-flat + creating nested symlinks which means that it looks like recursive-nested for the dependencies but the nested imported dependencies are created as symlinks which are linked to the toplevel location

This work is still in progress a couple of things need to be addressed.
Currently the basic commands update, lock and install work with all resolver but still some tests are broken. There are also some workarounds introduced to avoid that datafiles persist all fields. I hope there is a better solution out there but I didn't find them.

There are also some open question how gitman should deal if the resolver settings are different between the toplevel gitman file and the nested gitman files. Currently the resolver setting of the toplevel gitman file will always override the nested resolver settings.

@jacebrowning jacebrowning changed the title Feature/flat flat recursive resolver Implement a flat recursive resolver Mar 11, 2022
@jacebrowning jacebrowning marked this pull request as draft March 11, 2022 20:28
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant