wstool provides commands to manage several local SCM repositories (supports git, mercurial, subversion, bazaar) based on a single workspace definition file (.rosinstall).

wstool replaces the rosws tool for catkin workspaces. As catkin workspaces create their own setup file and environment, wstool is reduced to version control functions only. So wstool does not have a "regenerate" command, and does not allow adding non-version controlled elements to workspaces. In all other respects, it behaves the same as rosws.

wstool is not a rewrite. It is intended to reuse most of the rosws tool code and thus also produce .rosinstall files that are compatible with those used by rosws.

rosws generated setup.*sh files when called with commands "init" or "regenerate", and a CMakeLists.txt instead when also passed the option "--catkin". Both had implicit dependencies to the ROS ecosystem. wstool avoids those dependencies and leaves it to the user or other tools to create such environment setup files.

rosws depends on the vcstools package, and for a transitional period it will also depend on the rosinstall package (later that dependency will be inverted).


To install, use

$ sudo apt-get install python-wstool

or when that is not possible, fall back to pip:

$ sudo pip install -U wstool


Since the syntax and semantics are the same as for rosws, for the time being use the rosws syntax docs at:

Wiki: wstool (last edited 2013-03-01 17:36:31 by AcornPooley)