Bloom allows you to have multiple packages in a single repository. After running bloom each package will be isolated to a branch and tagged.

For example, if you have a git repo with octomap and octovis in sub folders, each containing a catkin package.xml, then bloom will create a release/octomap and release/octovis branch and corresponding version tags.  Then you can download the tarballs using github's tag download api, for example:

https://github.com/ros-gbp/ros_comm-release/archive/release/topic_tools/1.9.37.tar.gz

Would fetch the 1.9.37 version of topic_tools, which is a package in the ros_comm repository, which contains something like 22 packages.

The only constraint on this pattern is that the packages in a single repository must have the same version for bloom to work.  This is a constraint we made because allowing different versions would complicate bloom's design and because the common use case is that someone converted a stack to a list of catkin packages, in which case the packages were already the same version.

In short, if you keep octomap and octovis at the same version you can keep them in the same repository, otherwise I would recommend splitting them up.  There is little to no overhead to having another repository on github, and having someone checkout (or download a zip of) two repositories instead of one on Windows is not such a burden for them in my opinion, but it is up to you.

--

On Mon, Dec 17, 2012 at 8:25 AM, Armin Hornung <HornungA@informatik.uni-freiburg.de> wrote:
Hi,

here's a (hopefully) quick question for the git[hub] experts among you. Since Sourceforge will be discontinuing a few features soon and upgrade to a new platform (which causes a change of the SVN repository URLs), I am considering to move octomap development from sf.net to github. This will hopefully ease contributions from other developers, and make the release process easier for me (both into ROS with bloom and plain source packages).

Is it possible to release from a subdirectory of the repo using bloom, or is this not recommended in the Git workflow? The background is that the octomap repository[1] has a certain structure where it contains the main library ("octomap") and the separate visualization application "octovis". You can download or check out the complete set of both libraries (convenient for a user on a PC who wants to compile all together), or separately (convenient for releasing into ROS or building on a robot where you want to separate our the dependencies on Qt and OpenGL). So far we have tagged and released this in a hybrid matter from SVN, the top level (containing octomap and octovis) as source package and the libraries separately for the debian packages with bloom. How would I best proceed in mapping this to github repositories, keeping in mind that both combined source packages and single tagged libraries would be nice? Git submodules should work in that case if I understand it correctly. Does this mean I have to maintain three repositories in then end (octomap, octovis, and octomap-distribution combining them)?

Best,
Armin

[1] https://octomap.svn.sourceforge.net/svnroot/octomap/trunk/

--
Armin Hornung
Humanoid Robots Lab, Albert-Ludwigs-Universität Freiburg
Contact: http://www.informatik.uni-freiburg.de/~hornunga

_______________________________________________
Ros-release mailing list
Ros-release@code.ros.org
https://code.ros.org/mailman/listinfo/ros-release



--
William Woodall
Willow Garage - Software Engineer
wwoodall@willowgarage.com