harrah/xsbt — pull request #309 by saserr (2011-12-19 18:00:12+00:00)
Title: Refactored retrieving of remote projects and added support for FTP, Mercurial, and Subversion

This pull contains:

* Refactoring of a general retriever trait and reimplementation of git, file, http(s), and ftp support.
* Optimized retrieving of multiple clones of same git repository w.r.t network usage, time, and size. Optimization will do only one remote clone per repository and all other clones are done using this local clone.
* Allow defining non-standard git URIs (ones that do not start use git protocol and do not end with '.git') by prefixing them with 'git:' (see examples)
* Implementation of retrievers for mercurial and subversion repositories.

Examples of git URIs:

git://server/path
http(s)://server/path/repo.git
git:http(s)://server/path/repo
...

Examples of mercurial URIs:

hg:ssh://user@server/path
hg:http(s)://server/path
hg:file:///path
...

Examples of subversion URIs:

svn://server/path
svn+ssh://server/path
svn:http(s)://server/path
svn:file:///path
...