Ask Your Question

How to contribute to ROS2

asked 2021-02-18 15:02:18 -0600

suab123 gravatar image

updated 2021-02-18 15:56:36 -0600

Hello I m planning to contribute to ros2, but I m a bit confused, the ros2 contributing guildlines tells us that, we need to build it from source (I have done this), but now how do I do version control from this workspace, the correct way to contribute to any open source is by by forking that repo, then creating branch for each issue, but I m not getting how all this is achievable from ros2 workspace which is built by source.

The workspace doesnt contain .git folder so I need to first do git init

edit retag flag offensive close merge delete

1 Answer

Sort by » oldest newest most voted

answered 2021-02-19 00:13:59 -0600

Welcome! Thanks for your interest in contributing to ROS 2.

These instructions:

Will use the vcs tool to automate the cloning of a bunch of git repos to the ~/ros2_foxy/srcdirectory. Specifically, these ones:

It's the same normal open-source process on GitHub, just that vcs is doing one more step of automation because there are so many repos that it would be painful to clone them all one-by-one using git on the command line.

Whenever you want to change something in any of those git clones created by vcs, you can fork the respective upstream repository into your own GitHub account, and push your local changes into your personal fork, as normal, and create PR's back to upstream.

edit flag offensive delete link more


thanks for the answers, prev I had built foxy, but someone told me build on this instead all this is done :)

What you said forking appropriate repo and then work on it, but then I how do I check if my changes compille or not, prev what I used to do is, suppose I making change in rclcpy then I will copy rclpy to work space(build from source) and then run colcon build to check if my changes are compiling, but this process is a bit tedious.

Also is the build type of source Debug build for rclcpp (or any c++ code repos).

suab123 gravatar image suab123  ( 2021-02-19 00:23:45 -0600 )edit

Ah, yeah, if you're wanting to work on the leading-edge stuff and make PR's back to the main/master branches of the upstream repos, you're correct, you'll need to use a repo list that has all of the main / master branches in it, not the foxy branches. My mistake.

The contributing guide here should be exhaustive and up-to-date:

There is no need to be copying code between various places in your filesystem every change; you can set up your workspace to have your own forks in it. Then you can just edit-in-place and compile (typically in separate terminals, just for convenience). Usually you only want to work on a small number (like 1 or 2) of the many repos that vcs will clone for you, so you can just let the "full" vcs clone finish, then go in by ...(more)

Morgan gravatar image Morgan  ( 2021-02-19 00:30:28 -0600 )edit

okay this will seem to solve the problem, thanks for the help

Also do you know if Debug build is build from default when we build workspace with colcon?

suab123 gravatar image suab123  ( 2021-02-19 00:35:25 -0600 )edit

Your Answer

Please start posting anonymously - your entry will be published after you log in or create a new account.

Add Answer

Question Tools



Asked: 2021-02-18 15:02:18 -0600

Seen: 58 times

Last updated: Feb 19 '21