There must be a better way. Perhaps some of the WG folks can suggest
"best practices" for testing with multiple releases.

Most of us have our own little aliases or bash scripts to quickly switch between stack versions/trunk/etc.  Since the "optimal" approach is very dependent on the individual's situation and preferences, we have yet to come up with anything one-size-fits-all.  For example, the script I've attached that I and a few other WGers use is probably not nearly as useful if you're not developing on low-level stacks.

It has a couple hard-coded paths, but they're towards the top of the file.  An example workflow:

dev visualization-1.0 visualization_common                   # set the package path to include the <base>/dev/visualization-1.0 and <base>/dev/visualization_common paths, in addition to my "base" installed stacks
dev -a geometry-1.0                                                         # add the <base>/dev/geometry-1.0 stack to my package path
dev -s                                                                                # save my state, next time I open a shell it will have my current preferences

Again, this is just one way of doing it, though I find it's the best out of all I've tried for my situation (working on ROS core as well as some of the lower-level stacks).  Other people keep fully separate trees for different situations, or separate overlay setup.sh files, or other things I haven't guessed at.

If all you want is boxturtle vs. latest, setting up those aliases or overlays is much easier.

Josh