Command-line tools for maintaining a workspace of projects from multiple version-control systems.

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

vcstool replaces wstool. In contrast to wstool it doesn't have any state beside the working directories of the repositories in the file system.

For compatibility with rosinstall_generator is can read .rosinstall files. The file format of .repos files generated by vcs export provides stricter guarantees (e.g. that all entries are collision free when fetching them).


To install, use

$ sudo apt install python3-vcstool

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

$ sudo pip install -U vcstool

Using vcstool

Create a Workspace

First, create a workspace:

$ mkdir -p ~/ros_ws/src
$ cd ~/ros_ws

Populate the Workspace from a .rosinstall File

$ vcs import src < PATH_TO_ROSINSTALL_FILE.rosinstall

Updating the Workspace

After you've created your workspace and added repositories, you should update it to download the latest versions.

vcs pull src

Further Documentation

The upstream README contains additional context and examples for more commands and options:

Wiki: vcstool (last edited 2021-03-15 05:23:22 by DirkThomas)