[ros-users] Developers workflow in ROS repositories

Jeremiah Via jeremiah.via at gmail.com
Tue Aug 30 17:03:44 UTC 2011


Hi Jose,

On 30 Aug 2011, at 5:43PM, Jose Luis Rivero wrote:

> On 08/29/2011 06:25 PM, Lorenz Mösenlechner wrote:
>> Hi,
>> 
>> normally, people develop in trunk and whenever the code is ready, a
>> release is done.
>> 
>> Normally, related packages are packed together into stacks. When a
>> release is done, the stack's version number is increased and the
>> current dev-branch (trunk in most cases) is tagged. For instance, when
>> the new version 1.3 of stack foo is released, the tag tags/foo-1.3 is
>> created. In addition, a branchs named according to the ros distro
>> names the release is done against is created,
>> e.g. branches/diamondback.
>> 
> 
> Thanks for the info Lorenz, never heard about that release scripts
> before. are there many institution repositories working this way?
> 
> The model sounds quite reasonable but we have seen an inconvenience to
> manage developing this way:
> 
> Every time you make a tag (or a branch) subversion is going to copy the
> code in the corresponding directories (branches/ tags/) inside the repo.
> This means you will have a repo with duplicates directories for packages
> in branches/ trunk/ and tags, right?
> 
> Seeing the way rospack finds packages (mostly leaving the filesystem to
> decide the order to loop subdirs contained in entries of
> ROS_PACKAGE_PATH) if you make something like a roscd, it could make you
> to land on branches/ or tags/ instead of desired trunk.

You do not normally check out the entire repository. Instead, you check out trunk and use the switch command as necessary:

http://svnbook.red-bean.com/en/1.0/re27.html 

Similarly, when you tag a release, it exists on the repository but not your machine, so you won't run into this problem.

Cheers,
Jeremiah




More information about the ros-users mailing list