ros2_*.repos should point to specific revisions
Right now, the ros2-rust/ repos all points to main. This makes it impossible to stay on an old version without manually keeping track of, and checkout, the correct versions that works with a specific ros2_rust version.
Is would be very useful if version: could always point to a specific version. At a minimum it should be like that for tagged versions.
Thanks for trying out ros2-rust. We use the *.repos files for development and CI purposes, however now that we have released all the packages to crates.io and the ROS buildfarm, we should update the instructions to point to the official packages instead of directing users to clone the repo.
@esteve what replaces
vcs import src < src/ros2_rust/ros2_rust_humble.repos
with the crates.io packages? Do we just have to skip that part and everything should work?
EDIT: And do we actually need to depend on the crates.io version of rclrs instead of cloning it in the workspace?
@azerupi it depends on what distribution you're using. If you're using Jazzy or older, you'd need to add the packages in the rosidl_rust repository to your workspace and any message package your packages depend on so that the Rust code is generated. However, if you're on Kilted or Rolling, you shouldn't need the *.repos files at all. rclrs and rosidl_runtime_rs are released on crates.io and the code generator (the packages in the rosidl_rust repo) are released on the ROS buildfarm.
The documentation needs to be updated so that depending on the ROS distro the user has, the repos are not needed. I'll open a ticket for that.
Thank your for the response! I'm currently targeting Jazzy, so if I understood correctly the current instructions remain relevant?