[ros-users] Developers workflow in ROS repositories
jeremiah.via at gmail.com
Tue Aug 30 17:03:44 UTC 2011
On 30 Aug 2011, at 5:43PM, Jose Luis Rivero wrote:
> On 08/29/2011 06:25 PM, Lorenz Mösenlechner wrote:
>> 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:
Similarly, when you tag a release, it exists on the repository but not your machine, so you won't run into this problem.
More information about the ros-users