ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange
Ask Your Question
1

How are they different: foxy and foxy-release branches

asked 2021-02-17 04:25:23 -0500

updated 2021-02-17 05:10:26 -0500

gvdhoorn gravatar image

I am about to check out the source of ros2 foxy, using this command vcs import src < ros2.repos. The file ros.repos is here https://github.com/ros2/ros2/blob/master/ros2.repos.

The GitHub repository has a branch called foxy-release, and another branch called foxy. How are they different and which branch should be used?

edit retag flag offensive close merge delete

Comments

It was only a comment, but I believe this was discussed in #q371016 as well:

If you replace eloquent-release with eloquent, you'd get the state of the branches targetting Eloquent in those repositories, which is potentially different from the packages released into Eloquent.

gvdhoorn gravatar image gvdhoorn  ( 2021-02-17 05:09:58 -0500 )edit

1 Answer

Sort by ยป oldest newest most voted
0

answered 2021-02-17 14:18:15 -0500

jacobperron gravatar image

updated 2021-02-17 14:19:14 -0500

If you want to checkout the source code for Foxy, you should use the ros2.repos file from the foxy branch. This is the branch referenced by the "install from source" instructions for Foxy. It will give you the latest development for Foxy.

The master branch is always used for the next upcoming release (currently Galactic), and is not compatible with Foxy.

The foxy-release branch using git tags for each source repository, representing what we call a "patch release". This is a more formal release, representing a snapshot of all the core packages that we used to produce binaries for all platforms (e.g. archives for Windows, macOS, and Linux).

edit flag offensive delete link more

Comments

1

From a user perspective, the "source code for Foxy" will typically be understood to mean

the code used to build the packages I install when running apt install ros-foxy-....

That's different from "the current state of development of Foxy", which is what the foxy branch gets you.

With that in mind, it might be clearer to just say:

$ROS_DISTRO-release contains/points to the code used to build the binary packages for each Foxy release. The $ROS_DISTRO branches are the development branches, which may have already changed from what was released during the last release.

gvdhoorn gravatar image gvdhoorn  ( 2021-02-18 01:33:18 -0500 )edit

Unfortunately, it's not completely true that the $ROS_DISTRO-release branch points to the code used for all binary packages. Strictly speaking it points to the code that is used to produce "patch release" tarballs. If the user is installing from debs on Ubuntu, then they are getting whatever version of was most recently bloomed (and synced).

Typically, if a user wants to build Foxy from source, they are wanting to make changes to the code (and hopefully contribute back!). Or maybe they're trying to get a recent patch that hasn't been released yet. So, I would recommend working with the latest set of fixes. If you are not planning to change code, then I'd recommend installing the binaries instead.

jacobperron gravatar image jacobperron  ( 2021-02-18 11:55:53 -0500 )edit

Unfortunately, it's not completely true that the $ROS_DISTRO-release branch points to the code used for all binary packages. Strictly speaking it points to the code that is used to produce "patch release" tarballs.

that is certainly unfortunately.

Is this documented somewhere?

gvdhoorn gravatar image gvdhoorn  ( 2021-02-18 12:08:48 -0500 )edit

I thought so, but couldn't find it. We could probably document this caveat on this page: https://index.ros.org/doc/ros2/Instal...

jacobperron gravatar image jacobperron  ( 2021-02-18 12:55:19 -0500 )edit
1

I've proposed adding a note to the docs: https://github.com/ros2/ros2_document...

jacobperron gravatar image jacobperron  ( 2021-02-18 13:09:50 -0500 )edit

Question Tools

1 follower

Stats

Asked: 2021-02-17 04:25:23 -0500

Seen: 282 times

Last updated: Feb 17 '21