Basically: if you plan to release different versions of the same code into different ROS distributions, have different branches. The main input into our release and other scripts is "what branch do I get the code from?"
As for tags, our release scripts will automatically produce release version tags automatically (i.e. common_msgs-1.4.0).
In our own development, branching policy depends on whether or not a stack has a stable API. If it has a stable API, then there is a branch per ROS distribution so that new features are not accidentally added to older releases. Our tools generally don't care what the branch is called. For SVN, we generally name this branch on the minor release series number, e.g. common_msgs-1.4
If it doesn't have a stable API, then branches are generally only used as convenient, and it doesn't really make sense to have branch names correspond to version numbers as things are not settled down.
Caveat: Hg is a bit annoying in that "named branches" are persistent. In general, this means I see practices like making clones of repos, mqs, bookmarks, anonymous branches, etc...
There is no breakdown of ROS repositories by VCS type that I am aware of. You could produce this easily by parsing
https://code.ros.org/svn/ros/stacks/rosorg/trunk/rosdoc_rosorg/repos.rosinstall
Originally posted by kwc with karma: 12244 on 2011-08-04
This answer was ACCEPTED on the original site
Post score: 1
Original comments
Comment by kwc on 2011-08-05:
oh yeah, sites like Google Code still show closed branches in the browse menu. Not the biggest issue, but I have found it annoying.
Comment by kwc on 2011-08-05:
hmm, I remember there being an issue, but I can't seem to reproduce it from my command-line right now, so you're probably right.
Comment by Patrick Bouffard on 2011-08-05:
Thanks Ken. On the persistency of named branches in hg: isn't "closing" a branch the solution to this?