Skip to content

Latest commit

 

History

History
58 lines (34 loc) · 1.92 KB

README.md

File metadata and controls

58 lines (34 loc) · 1.92 KB

Get

Description

Get is a simple script for fetching and updating a collection of git repositories and adding them to your path. It is intended for use in build scripts to ensure you always have the latest version of your toolchain when running builds.

Get should work equally well on Linux and OS X systems but has only been tested on OS X.

Usage

Using get is simply a matter of adding something like the following line to the beginning of your build script.

$( curl https://raw.github.com/jbmorley/get/master/get-min | python - <profile> )

Profiles specify the repositories to add to your path. They can be provided inline, or as a local or remote path (see below).

If you plan to use get as part of a Hudson or Jenkins build system, don't forget to explicitly source your .bash_profile (or equivalent) to ensure all your other tools are on the path.

source ~/.bash_profile
$( curl https://raw.github.com/jbmorley/get/master/get-min | python - <profile> )

Profiles

Profiles are specified as a JSON mapping of repository name to path:

{
  "neko": "[email protected]:jbmorley/neko.git",
  "mnfy": "[email protected]:brettcannon/mnfy.git"
}

Get supports inline, local and remote paths for profiles.

Inline

$( curl https://raw.github.com/jbmorley/get/master/get-min | python - '{ "neko": "[email protected]:jbmorley/neko.git" }' )

Local

$( curl https://raw.github.com/jbmorley/get/master/get-min | python - profile.json )

Remote

$( curl https://raw.github.com/jbmorley/get/master/get-min | python - https://raw.github.com/jbmorley/get/master/example.json )

Default

If no profile is specified then the default local path of ~/.get/default.json will be used.

Future

  • Add some automated tests to ensure future development doesn't break the supported range of profile types.
  • Check support for cloning local repositories. This should work but requires testing.