Command-line tools for maintaining a workspace of projects from multiple version-control systems.
- Maintainer status: maintained
- Maintainer: Dirk Thomas
- License: Apache License 2.0
Bug / feature tracker: https://github.com/dirk-thomas/vcstool/issues
Source: git https://github.com/dirk-thomas/vcstool.git (branch: master)
Changelog: See referenced tickets on each GitHub milestone https://github.com/dirk-thomas/vcstool/milestones?state=closed
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
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
The upstream README contains additional context and examples for more commands and options: