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

Revision history [back]

click to hide/show revision 1
initial version

There should be many people in ROS community who can explain more thoroughly, but here's what I know:

  • To synchronize branches, I think git merge and git rebase (use either one depending on the purpose) is generally preferred over git cherry-pick (ref. from stackoverflow). cherry-pick is useful particularly when you want to sync specific commits.

  • In ROS, branching per distro seems to be common practice, e.g. { groovy, hydro }-devel as you pointed out. Note, however, that you may create a branch for a new ROS distro only when there's a necessity; for instance, while the latest ROS distro is hydro the latest development branch of rqt_common_plugins remains groovy-devel since all the code there is expected to run on both distributions. This kind of branching policy can vary depending on repositories (and for rqt, it's documented here).

There should be many people in ROS community who can explain more thoroughly, but here's what I know:

  • To synchronize branches, I think git merge and git rebase (use either one depending on the purpose) is generally preferred over to git cherry-pick (ref. from stackoverflow). cherry-pick is useful particularly when you want to sync the specific commits.

  • In ROS, branching per distro seems to be a common practice, e.g. { groovy, hydro hydro, indigo }-devel as you pointed out. Note, however, that you may create a branch for a new ROS distro only ONLY when there's a necessity; for instance, while the latest ROS distro is hydro hydro, the latest development branch of rqt_common_plugins remains groovy-devel since all the code there is expected to run on both distributions. distributions and thus it reduces the maintainer's effort. This kind of branching policy can vary depending on repositories (and for rqt, it's documented here).