In the near future we will begin transitioning packages to ROS2 and we are interested in getting feedback on possible strategies for managing ROS1 and ROS2 leveraging GitHub. We recently had a discussed at the ROS-Industrial Developers meeting and two approaches were identified below, but if other exist please let us know. Also we are interested in getting the communities feedback on the Pros and Cons of both approaches to help determine which is the best strategy moving forward.
Option 1 (Multiple Repositories)
- Repository 1 (Core Libraries) - This would contain libraries that are ROS agnostic which would be leverage by the other repositories. (This may not always exist, depending on the nature of the repository.)
- Repository 2 (ROS1) - This would contain ROS1 wrappers around the Core Libraries.
- Repository 3 (ROS2) - This would contain ROS2 wrappers around the Core Libraries.
Option 2 (Single Repositories leveraging multiple branches)
- Branch 1 (ROS1 and Core Libraries) - This would contain both core libraries and ROS1 wrappers.
- Branch 2 (ROS2 and Core Libraries) - This would contain both core libraries and ROS2 wrappers.
- Note: If improvements were made to core libraries they would be cherry-picked to the other branch.