Skip to main content

Manage a workspace of git repositories

Project description

Workspace Check (wcheck)

Compares different versions of git repositories and reports their differences. Possible options of workspace:

  • local workspace in a directory, represented by the current git branch of each repository
  • workspace defined by a vcs file

Possible comparisions:

  • compare local workspace against a configuration file (command=wconfig)
  • compare two configuration files, e.g. robot_A.vcs with robot_B.vcs (command=config_list)
  • compare all git references of a configurion file, this includes all active branches and tags (command=config_versions)

Usage

General usage

wcheck <command> <parameters>

Command options: status, wconfig, config_list, config_versions

Check workspace status

wcheck status [-w <workspace_location>] [--full] [--gui] [-v] [--show-time] 

It will show the git status of each repository. The legend is U: number of untracked files, C: number of changed files, S: number of staged files, arrow up: number of commits to push, arrow down: number of commits to pull.

Workspace location can be specified with argument -w, if not provided, it will use current location.

Compare workspace to a configuration file:

wcheck wconfig -c <config_file> [--gui] [-v] [--show-time]

The configuration file uses VCSTOOL structure, see an overview below

Compare multiple configuration files

wcheck config_list -c <config_A> <config_B> .. <config_N>

Compare git references (branches and tags), of the configuration file

wcheck config_versions -c <config> [-h] [--full] [-v] [--show-time] [--full-path]

Optional arguments

  -v --verbose: verbose output
  -h --help: show help
  --full: show full output, not only differences
  --gui: show graphical user interface
  --show-time: show elapsed time since last commit and reference creation
  --fetch: fetch repositories before comparing
  --full-path: show full path for each configuration file

VCSTOOL Overview

This repo is based on vcstool (do not confuse with vctools, a similar but deprecated tool for working with vcs files). A workspace is defined with a yaml file describing each repository

  repositories:
    <repo directory name>:
      type: <repo type>
      url: <repo url>
      version: <repo version>

where repo directory name is the name of the directory where the repo is cloned to (including parent folders in any), repo url is the url of the repo (using git or https), repo type is the type of repo (git, hg, svn, bzr, etc), and repo version is the version of the repo to check against, specified as a branch name, tag name, or commit hash. Example:

  repositories:
    vcstool:
      type: git
      url: git@github.com:dirk-thomas/vcstool.git
      version: master

Other multi-repository tools

Name Status Last release Language Git interaction Terminal GUI Compares configs Compares versions Description
garden active July 2022 Rust native rust Yes no no no manage git project dependencies and worktrees, custom commands
gfold active July 2022 Rust native rust Yes no lists status of multiple repositories, readonly, config file, rust
ghq active May 2022 Go yes manage remote repository clones
git-plus active August 2022 Python git cli w/subprocess multi: run commands in multiple git repos
git-repo-updater old 2019 Python python gitRepo gitup: update multiple git repos at once
gita active January 2022 Python git cli w/subprocess manage multiple git repos
gitbatch Go manage multiple git repos in one place
go-vcs active March 2022 Go version control repository management for Golang
kas active August 2022 Python bitbake repository management tool
mgitstatus active June 2022 Bash git cli show status in multiple git repos
mani active June 2022 manage multiple repositories, tasks, tags, YAML config, golang
multi-gitter active August 2022 Go run command and commit, manipulates pull requests, YAML config, tightly bound to forges (GitHub, GitLab, Gitea)
mu-repo active Octover 20220 Python help working with multiple git repos
repo active git repository management tool
rosinstall archived 2016 Python source code workspace management tool
silver-platter active March 2022 Python make automated changes in different version control repositories
uncommitted active January 2021 Python find uncommitted changes in VCS directories
v abandoned 2009 Bash version control subcommand wrapper
VCS abandoned 2018 a wrapper for version control systems
vcs-repo-mgr abandoned 2018 Python version control repository manager
vcstool active Python git cli w/subprocess work with multiple repositories
vcstools archived Python Python API wrapping version control systems
wstool archived Python maintain workspace of projects from multiple VCSes

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

wcheck-0.1.4.tar.gz (12.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

wcheck-0.1.4-py3-none-any.whl (10.8 kB view details)

Uploaded Python 3

File details

Details for the file wcheck-0.1.4.tar.gz.

File metadata

  • Download URL: wcheck-0.1.4.tar.gz
  • Upload date:
  • Size: 12.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.1.1 CPython/3.12.3 Linux/6.11.0-17-generic

File hashes

Hashes for wcheck-0.1.4.tar.gz
Algorithm Hash digest
SHA256 6e047f22c9de32c74403349c3047232d6bceadcab925c2a7164371ed760fb833
MD5 125a811968afdeeb00ce8e723e0fc22e
BLAKE2b-256 137905f94d6c75fb5bcca8e5806179ce90a8228ae1aa7ea6fccdf937e9d40d06

See more details on using hashes here.

File details

Details for the file wcheck-0.1.4-py3-none-any.whl.

File metadata

  • Download URL: wcheck-0.1.4-py3-none-any.whl
  • Upload date:
  • Size: 10.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.1.1 CPython/3.12.3 Linux/6.11.0-17-generic

File hashes

Hashes for wcheck-0.1.4-py3-none-any.whl
Algorithm Hash digest
SHA256 0bf3baf438155150de41bef7edfa05a34cdca059ae0efc352a6bf271d1d56bd4
MD5 483e6d37acc5de953620beafd19095f5
BLAKE2b-256 6c6ebb3af2190479c206c7a08b459043c6f828fff0829f6590ac84f51aafa74f

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page