OpenRMF Web branch structure (#608)

Posted by @eliasdc:

Lately there has been a lot of activity on the hammer/xxx and deploy/hammer branches. I was wondering what the current state of rmf web is regarding the main branch. Is the main branch still the branch most people should be using or is this now the deploy/hammer branch?

Can you elaborate on these:

  • deploy/hammer
  • deploy/wrench
  • main

I also notice that more than half the branches haven’t had an update in over 2 years, and some are from closed merge-requests, shouldn’t these be removed for clarity?

Chosen answer

Answer chosen by @eliasdc at 2024-04-17T13:08:45Z.
Answered by @aaronchongth:

Hello @eliasdc! Thanks for bringing this up, in general deploy/* branches are for production deployment settings that may or may not have specific requirements tied to the various projects using them, hence they are not in main

  • deploy/wrench is a production deployment branch for a legacy project
  • deploy/hammer is a production deployment branch that is still ongoing hence the amount of activity and changes. And has diverged quite significantly from main, due to removal of existing features, new custom features, UX, and database model changes, and will make database migrations from main rather cumbersome

main is for all intents and purposes, the branch that users should use using as it uses the APIs and messages that have largely been stable from RMF core libraries. However there may be edge cases and bugs that have not been fully propagated into main yet due to the amount resources needed for the deployment projects.

For more visibility on what’s ongoing and planned ahead, there is an ongoing effort to re-purpose deploy/hammer into the new main branch, as we have gotten a lot of valuable feedback from users, and fixed a lot of edge cases that would be helpful for the community’s deployments. This will involve

  • making it backward compatible with rmf_demos tasks
  • make what tasks are available build-time configurable
  • general UX and usage with RMF’s core libraries
  • making version tagging easier for proper releases

We will be updating the library versions and security concerns as well once the new main branch is ready, and hope to do a proper write-up about these changes then.

I also notice that more than half the branches haven’t had an update in over 2 years, and some are from closed merge-requests, shouldn’t these be removed for clarity?

Of course! We will strive to clean up the branches once we stabilize things

Posted by @aaronchongth:

Hello @eliasdc! Thanks for bringing this up, in general deploy/* branches are for production deployment settings that may or may not have specific requirements tied to the various projects using them, hence they are not in main

  • deploy/wrench is a production deployment branch for a legacy project
  • deploy/hammer is a production deployment branch that is still ongoing hence the amount of activity and changes. And has diverged quite significantly from main, due to removal of existing features, new custom features, UX, and database model changes, and will make database migrations from main rather cumbersome

main is for all intents and purposes, the branch that users should use using as it uses the APIs and messages that have largely been stable from RMF core libraries. However there may be edge cases and bugs that have not been fully propagated into main yet due to the amount resources needed for the deployment projects.

For more visibility on what’s ongoing and planned ahead, there is an ongoing effort to re-purpose deploy/hammer into the new main branch, as we have gotten a lot of valuable feedback from users, and fixed a lot of edge cases that would be helpful for the community’s deployments. This will involve

  • making it backward compatible with rmf_demos tasks
  • make what tasks are available build-time configurable
  • general UX and usage with RMF’s core libraries
  • making version tagging easier for proper releases

We will be updating the library versions and security concerns as well once the new main branch is ready, and hope to do a proper write-up about these changes then.

I also notice that more than half the branches haven’t had an update in over 2 years, and some are from closed merge-requests, shouldn’t these be removed for clarity?

Of course! We will strive to clean up the branches once we stabilize things


This is the chosen answer.

Posted by @eliasdc:

Thanks for the quick reply. Looking forward for the re-purposed main version as quite some features of deploy/hammer would be really interesting to work with.