URL Format

Repo type and address is RFC3986 style URLs. You may recognize this from pip’s VCS URL format.

Config locations

You can place the file in one of three places:

  1. Home: ~/.vcspull.yaml

  2. XDG home directory: $XDG_CONFIG_HOME/vcspull/

    Example: ~/.config/vcspull/myrepos.yaml

    XDG_CONFIG_HOME is often ~/.config/vcspull/, but can vary on platform, to check:

    $ echo $XDG_CONFIG_HOME
  3. Anywhere (and trigger via vcspull sync -c ./path/to/file.yaml sync [repo_name])



This structure is subject to break in upcoming releases.

      origin: git_repo_url


    url: git+
      upstream: git+
      marksteve: git+
      tony: git+ssh://[email protected]/tony/kaptan.git

To pull kaptan:

$ vcspull sync kaptan

Christmas tree

config showing off every current feature and inline shortcut available.

    linux: git+git://
    freebsd: git+
    sphinx: hg+
    docutils: svn+
        url: git+
            upstream: git+
            marksteve: git+
            tony: [email protected]:tony/kaptan.git
        url: [email protected]:tony/vim-config.git
        url: [email protected]:tony/tmux-config.git

Code scholar

This file is used to checkout and sync multiple open source configs.


  awesome: 'git+git://'
  weechat: 'git+git://'
  retroarch: 'git+'
  linux: 'git+'
  freebsd: 'git+'
  ncmpc: 'git+git://'
  tmux: 'git+git://'
  git: 'git+'
  postgres: 'git+'
  pgadmin3: 'git+git://'
  sandy: 'git+'
  understate: 'git+'
  util-cursor: 'git+git://'
  zsh: 'git+git://'
  cpython: 'hg+'
  vim: 'hg+'
  nginx: 'hg+'
  vimpc: 'git+'
  mpd: 'git+git://'
  libmpd: 'git+git://'
  ncmpcpp: 'git+git://'
  libmpdclient: 'git+git://'
  node: 'git+'
  libzmp: 'git+'
  doubanfm-qt: 'git+'
  retroarch-phoenix: 'git+'
  clementine: 'git+'
  amarok: 'git+git://'
  async: 'git+'
  request: 'git+git://'
  express: 'git+'
  node-optimist: 'git+'
  commander.js: 'git+' 
  colors.js: 'git+git://'
  uglify.js: 'git+git://'
  connect: 'git+git://' 'git+'
  node-mkdirp: 'git+'
  jade: 'git+'
  redis: 'git+'
  node-uuid: 'git+'
  node-mime: 'git+'
  mime-magic: 'git+'
  debug: 'git+'
  winston: 'git+'
  less.js: 'git+'
  less: 'git+'
  todo: 'git+'
  http-control: 'git+'
  cradle: 'git+'
  journey: 'git+'
  pilgim: 'git+'
  node-glob: 'git+'
  jsdom: 'git+'
  node-mongodb-native: 'git+'
  node-pkginfo: 'git+'
  nodejs-intro: 'git+'
  wrench-js: 'git+'
  grunt: 'git+'
  moment: 'git+'
  q: 'git+'
  mocha: 'git+'
  node-semvar: 'git+'
  handlebars.js: 'git+'
  underscore.string: 'git+'
  node-oauth: 'git+'
  vows: 'git+'
  cheerio: 'git+'
  node-mysql: 'git+'
  node-querystring: 'git+'
  node-browserify: 'git+'
  node-http-proxy: 'git+'
  through: 'git+'
  superagent: 'git+'
  supertest: 'git+'
  npm: 'git+'
  passport-oauth: 'git+'
  watch: 'git+'
  hogan.js: 'git+'
  mustache: 'git+'
  node-temp: 'git+'
  node-sprintf: 'git+'
  nodeunit: 'git+'
  cli-color: 'git+git://'
  node-jshint: 'git+'
  node-static: 'git+'
  passport: 'git+'
  shelljs: 'git+'
  tutorial-nodejs-cli: 'git+'
  cli-table: 'git+'
  mongoose: 'git+'
  browserbuild: 'git+' 'git+' 'git+' 'git+' 'git+'
  knox: 'git+'
  jsonp: 'git+'
  node-tar: 'git+'
  node-bindings: 'git+'
  node-fs-extra: 'git+'
  chai: 'git+'
  grunt-lib-contrib: 'git+'
  node-irc: 'git+'
  jasmine-node: 'git+'
  node-querystring: 'git+'
  highlight.js: 'git+'
  backbone.deepmodel: 'git+'
  underscore: 'git+'
  lodash: 'git+'
  backbone: 'git+'
  requirejs: 'git+'
  r.js: 'git+'
  volo: 'git+'
  create-responsive-template: 'git+'
  yeoman: 'git+'
  cajon: 'git+'
  jquery: 'git+'
  backbone.marionette: 'git+'
  backbone.wreqr: 'git+'
  backbone.babysitter: 'git+'
  flight: 'git+'
  bower: 'git+'
  codemirror: 'git+'
  doctorjs: 'git+'
  jmespath: 'git+'
  anyvcs: 'git+'
  pip: 'git+git://'
  ipdb: 'git+'
  virtualenv: 'git+'
  jinja2: 'git+'
  flask: 'git+'
  flask-script: 'git+'
  frozen-flask: 'git+'
  werkzeug: 'git+'
  logbook: 'git+'
  cjklib: 'git+'
  pudb: 'git+'
  ipython: 'git+'
  blessing: 'git+'
  salt: 'git+'
  salt-ui: 'git+'
  salt-formulae: 'git+'
  salt-api: 'git+'
  salt-cloud: 'git+'
  salt-vagrant: 'git+'
  salt-contrib: 'git+'
  sqlalchemy: 'git+'
  wtforms: 'git+'
  botocore: 'git+'
  libcloud: 'git+'

  argcomplete: 'git+'

  lxml: 'git+'

  httpbin: 'git+'
  envoy: 'git+'
  legit: 'git+'
  tablib: 'git+'
  requests: 'git+'
  grequests: 'git+'

  kr-sphinx-themes: 'git+'

  gist-api: 'git+'

  pystache: 'git+'
  pandas: 'git+'
  ncmpy: 'git+'

  gevent: 'git+'
  tornado: 'git+'

  soundcloud-cli: 'git+'
  pyradio: 'git+'

  sh: 'git+'
  envoy: 'git+'

  glances: 'git+'
  powerline: 'git+'
  jieba: 'git+'
  storm: 'git+'
  fabric: 'git+'
  ansible: 'git+' 'git+'
  buildbot: 'git+'
  beets: 'git+'
  magicmethods: 'git+'

  gateone: 'git+'
  glue: 'git+'
  objbrowser: 'git+'

  pythagora: 'git+'
  youtube-dl: 'git+'
  twisted: 'git+'

  ckan: 'git+'
  hackthebox: 'git+'
  mediagoblin: 'git+git://'
  ckan: 'git+'
  reddit: 'git+'

  python_koans: 'git+'
  python-guide: 'git+'
  #introduction_to_sqlalchemy: 'git+'
  probabilistic-programming-and-beyesian-methods: 'git+'
  python-patterns: 'git+'
  learn-pandas: 'git+'

  w3lib: 'git+'
  scrapy: 'git+'
  scrapely: 'git+'

  calibre: 'git+git://'

  kaptan: 'git+'
  aws-cli: 'git+'

  youcompleteme: 'git+'

  ranger: 'git+git://'

  readthedocs: 'git+'
  django: 'git+'
  norman: 'hg+'
  bpython: 'hg+'
  urwid: 'hg+'
  sphinx: 'hg+'
  sphinx-contrib: 'hg+'
  pexpect-u: 'hg+'
  pygments: 'hg+'
  docutils: 'svn+'



For git remotes using SSH authorization such as use git+ssh:

git+ssh://[email protected]/tony/kaptan.git