repos-tool 0.1.0

A simple command line tool to manage local repositories. failed to build repos-tool-0.1.0
Please check the build logs for more information.
See Builds for ideas on how to fix a failed build, or Metadata for how to configure builds.
If you believe this is' fault, open an issue.
Visit the last successful build: repos-tool-0.1.4


A simple command tool to manage local repositories.


  • Metadata file is managed by user self manually

The metadata of local repository should be managed by user self manually. The repos command tool only reads the metadata for operations and never modifies it.

Please take a look at to get a quick introduction of toml format.

  • Vcs support is done by spawning vcs process

Currently, the repos command tool calls vcs process for synchronizing repositories.

Please make sure to put vcs command line programs in the path environment before using repos command line to synchronizing repositories.


Prepare your metadata file

See Repos.sample.toml for sample.

Add a new repository

  1. Put new repository metadata to Repos.toml
  2. Run repos sync {repo_url}

Update an existed repository

Run repos sync {repo_url}.

Remove an existed repository

  1. Run repos remove {repo_url}
  2. Delete repository metadata from Repos.toml

Update all repositories

Run repos sync.

List repositories of a topic

Run repos topic {topic}.

List all topics with count of their repositories

Run repos topics.

Output stats of all repositories

Run repos stats.

Clean up unused resources

Run repos cleanup.

Search repositories

Run repos search {keyword}.

Output proxy configuration

Run repos proxy.

Change proxy configuration

Edit proxy section in metadata file.


See Repos.template.toml for overview.


  • url: follow usage of vcs
  • vcs: version control system. choices: git, hg
  • allow_sync: whether synchronized to local, or just marked in metadata
  • bare: whether bare
  • use_proxy: whether using proxy for sync
  • topics: topics belong to


  • scheme: choices: http, socks5
  • host
  • port

Local files and directories

These files and directories are all in current/working directory (pwd).

Metadata file


repository directory


e.g. repository directory of url is


  • sync: update or clone if a repository url provided, else synchronize all repositories
  • remove: remove local directory of a repository
  • topics: list all topics with count of their repositories
  • topic: list repositories of a topic
  • stats: output stats of all repositories
  • cleanup: clean up unused resources
  • search: search repositories by keyword
  • proxy: output proxy configuration


repos sync
repos sync
repos remove
repos topics
repos topic rust
repos stats
repos cleanup
repos search key_word
repos proxy


There are some limitations now.

  • Relative URLs without base (scp-like syntax) are not supported.

    e.g. [user@]host.xz:path/to/repo.git or [user@]host.xz:~/path/to/repo.git

  • The bare attribute of a repository is only used for cloning the repository.

  • Proxy configuration is global. This may be changed in the future.

  • Vcs only supports git and hg(Mercurial) now.