-
Notifications
You must be signed in to change notification settings - Fork 2
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
Automatic management of the components.yaml #180
Comments
If we implement this change we should also relocate the configuration yaml file to something like |
For intermediate development we will start to see a lot more SHA codes in the config file (which people should not be looking at anyway), but probably worth noting. Something to keep in mind with this though is that "orphaned" SHA codes can be (and will be) pruned on GitHub after some period of time. If a configuration needs to be maintained and there is any concern that the underlying subproject states will not ultimately be merged into a permanent branch (eg main or develop), then tagging subprojects is still necessary unfortunately. |
Another concern is for users that take some action via git rather than mepo. |
To be useful, mepo will also need a push that ensures all branches in subprojects have been pushed to GitHub. This might be a bit difficult for a headless commit. Possibly this situation is rare enough that mepo would just issue an error saying that it cannot handle headless commits? |
With mepo's current implementation, various commands that impact the state of a fixture or subprojects are not automatically reflected in the
components.yaml
file that was used to create the initial configuration. Generally this means that this file must be hand edited when updates are pushed back to the repository.This situation has worked well for some use cases, but it less ideal for more intermediate work involving peer-to-peer exchanges of status. In particular, it leads to the desire to push "deep" tags across the entire hierarchy of repositories which is a form of namespace pollution. But it is also arguably just adding (to whatever degree) to the complexity of managing the repositories.
@amdasilva has suggested instead that the top configuration information should be automatically updated as mepo commands alter the state. E.g., if mepo is used to checkout branch
foo
in subprojectbar
then the configuration file should change the entrytag: xyz
in thebar
clause tobranch: foo
.One immediate issue that must be considered with this change is what we mean by
mepo status
. Currently this shows any changes since the original clone step (or the most recentmepo save
). Presumably with the proposed change the behavior is as-if amepo save
is issued after each step, and a different mechanism must be used to compare against an earlier point in development. (Possibly a capability like this already exists in mepo?)I'll attach a few more related concerns in subsequent comments in this GitHub issue.
Bringing to attention of @mathomp4 @amdasilva @sdrabenh and @rtodling
The text was updated successfully, but these errors were encountered: