3775: Run local/dev jobs on code from arbitrary remote git repositories.
authorTom Clegg <tom@curoverse.com>
Fri, 3 Oct 2014 14:16:16 +0000 (10:16 -0400)
committerTom Clegg <tom@curoverse.com>
Fri, 3 Oct 2014 14:16:16 +0000 (10:16 -0400)
commitc1a82be63ffc3b8aa853025672d486758ffc86e6
tree94d46b9c9dbab6e4de2f33c4b5789e6d6e682a0b
parent256ceb11e3b67dbe68b955ed09ac0df9f6cda2ba
3775: Run local/dev jobs on code from arbitrary remote git repositories.

* repository is a local path X -> use local repository X or X/.git.

* repository is a git url (git://, https://, git@host:repo.git, etc)
  fetch branches, tags, and objects from the remote and use the result
  to resolve script_version to a commit sha1 and run the job.

* else -> look up the named repository in Arvados and use its
  fetch_url as a remote git url as above.

* --git-dir is given on the command line -> use that instead of
  $Job->{repository} in the above logic. (This isn't new. It ensures
  we don't go off fetching arbitrary remotes when crunch-dispatch.rb
  has already pulled the code into its own internal git repo.)

Incidental changes:

* Lose support for looking up subversion revision numbers using
  git-svn tags.

* Lose support for CRUNCH_DEFAULT_GIT_DIR environment variable. Pass
  --git-dir instead.

* Improve log messages during checkout/install phase.
sdk/cli/bin/crunch-job