skillfed

vcstool

vcstool provides a command line tool to invoke vcs commands on multiple repositories.

vcstool v0.3.0 121.0K downloads/30d#11,998 on PyPI501
Permissive license Apache License, Version 2.0 DORMANT released

What it is and what it does

vcstool is a wrapper tool that lets you run version control commands across multiple repositories in one operation. Instead of cd-ing into each repo and running git/hg/svn/bzr individually, you point vcstool at a directory tree, and it recursively discovers all supported repositories and executes your command on each one in parallel (by default, or sequentially if needed). It also provides export/import functionality using YAML files to capture repository metadata—type, URL, and version—so you can reproduce a set of repos elsewhere or share a workspace definition.

The tool depends on PyYAML and setuptools for installation. It's designed to be lightweight and stateless, relying entirely on the native VCS clients already installed on your system rather than reimplementing version control logic. It supports Git, Mercurial, Subversion, and Bazaar, and can also fetch and unpack tarballs or zip files during import.

Use it for:

  • Manage a workspace of many Git/Hg/Svn repositories and run status, diff, or log across all of them at once.
  • Export a snapshot of multiple repositories' URLs and versions to a YAML file for reproducible setup on another machine.
  • Import a previously exported repository manifest to clone and check out all repos to their recorded versions.
  • Run custom VCS commands (e.g., git log) on a filtered subset of repositories by type.
  • Validate a hand-written or exported repository manifest file before importing it.

Worth the install?

AI-flagged interpretation of the facts on this page — verify before relying

vcstool is a command-line tool that manages multiple version control repositories (Git, Mercurial, Subversion, Bazaar) from a single interface, letting you run VCS commands across many repos at once.

Yes, if you actively manage multiple version-controlled repositories and want a lightweight command-line tool to orchestrate them. The low install friction and permissive license make it easy to try. However, be aware that the package is dormant (last release 2021-08-09) and receives no active maintenance—it works for its stated purpose but may not evolve with newer VCS features or Python versions. Suitable for stable, long-term workflows; less suitable if you need active development or modern tooling integration.

Install

vcstool on PyPI

pip

pip install vcstool

uv

uv add vcstool

poetry

poetry add vcstool

Installing vcstool

Before you install

Installation is straightforward with low friction—just two runtime dependencies (PyYAML and setuptools). However, the package is dormant: last release was 2021-08-09, with no recent commits despite an active repository. It remains functional but receives no active maintenance.

License in practice

Licensed under Apache License, Version 2.0 (permissive). You can use, modify, and distribute this package freely in commercial and private projects with minimal restrictions.

Quickstart

pip install vcstool

vcs status /path/to/repos
vcs export > my.repos
vcs import < my.repos

Requires native VCS clients (git, hg, svn, bzr) to be installed on the system; vcstool is a wrapper that invokes them, not a reimplementation.

Verify before relying

  • Whether Python 3.5+ is actually required (requires_python field is empty in metadata)
  • Current compatibility with modern Python versions given the dormant maintenance status
  • Whether the tool still works reliably with current versions of Git, Mercurial, Subversion, and Bazaar

Package facts

License Apache License, Version 2.0 (permissive)
Python support not specified
Install friction low — pure-Python wheel
Runtime dependencies 2 — PyYAML, setuptools
Maintenance dormant — 1,831 days since the last release
Last repo commit
First released
Downloads 121,050/month — #11,998 on PyPI (30-day window, as of 2026-08-14)
Known vulnerabilities none known (OSV.dev, checked 2026-08-14)

Evidence: vcstool-0.3.0-py3-none-any.whl

Intended Audience :: DevelopersLicense :: OSI Approved :: Apache Software LicenseProgramming Language :: PythonTopic :: Software Development :: Version ControlTopic :: Utilities

Tags

multi-repo version control managementbatch vcs commandsmanage multiple git repositoriesvcs orchestration toolrepository workspace toolmonorepo version controlvcs export import
multi-repovcs-orchestrationcli-tool

More Utilities packages