Taskcluster VCS Tools
Using VCS optimally in a CI environment is difficult
tc-vcs aims to do
this job for you via a set of taskcluster
Currently the following features are available:
- Equal first class support for both hg and git.
- Creating remote caches of clones caches.
- Utilization of remote and local caches for clone operations.
- "Checkout revision" commands (useful for mozilla "try" like workflows)
This package has a somewhat stable internal interface (see /vcs) but it is primarily designed to be used as a CLI.
npm install taskcluster-vcs -g tc-vcs --help
The most common and useful command is
# Checkout revision of try (in usual mozilla "try" workflow fashion) tc-vcs checkout https://hg.mozilla.org/mozilla-central https://hg.mozilla.org/try $REV $REV try_dir
This project is developed in node.js and uses 6to5
to provide a complete ES6 based environment. In addition the
async operator is used heavily in conjunction with
- bin/tc-vcs : Primary entrypoint.
- cli/ : Individual CLI sub commands.
- test/ : Tests for tc-vcs
- vcs/ : Internal version control abstractions for hg/git
Tests are written in mocha and require taskcluster credentials see the taskcluster client for details on how to configure the environment variables needed.
# Run all the tests npm install # Run one test ./node_modules/.bin/mocha <test>