| Version 1 (modified by augiedoggie, 5 years ago) (diff) |
|---|
This page describes the format and usage of special URI's that can be used inside the SRC_URI field of a BepFile file. The purpose of which are to download source code from a version control system for use during the software build process.
Schema of the URI
type://[username[:password]@]hostname[:port]/path[#revision]
The username, password, port, and revision specifiers are optional.
Supported version control types
- svn+http://
- svn+https://
- hg+http://
- hg+https://
- git+http://
- git+https://
The revision specifier
For subversion this is a revision number.
For mercurial and git this is any changeset, tag, or branch identifier. Usually you would want to use it to specify a changeset id though.
For CVS this is a date specifier. Usually you would use MM/DD/YYYY, but it can be any format that CVS accepts.
Notes for CVS
The CVS schema is slightly different than the others. The path should also include the module name at the end and it will almost always need :pserver: just after the type specifier.
cvs://:pserver:[username[:password]@]hostname[:port]/path/module[#date]
Subversion examples
Checking out the latest revision:
SRC_URI="svn+http://svn.ruby-lang.org/repos/ruby/trunk"
Checking out a specific revision:
SRC_URI="svn+http://svn.ruby-lang.org/repos/ruby/trunk#26849"
Mercurial examples
Cloning the tip of a repository:
SRC_URI="hg+http://bitbucket.org/durin42/hgsubversion/"
Cloning a specific changeset:
SRC_URI="hg+http://bitbucket.org/durin42/hgsubversion/#9eb6bf2be1e7"
Git examples
Cloning a specific changeset:
SRC_URI="git://cmake.org/cmake.git#c6fdff2b223d8527600a7df13638cd0258db4de7"
CVS examples
Checking out the HEAD of a repository(with password):
This is with a username of 'anonymous', password of 'cmake', and module 'CMake'
SRC_URI="cvs://:pserver:anonymous:cmake@www.cmake.org:/cvsroot/CMake/CMake"
Checking out a specific date of a repository:
This is with a username of 'anonymous', password of 'cmake', and module 'CMake'
SRC_URI="cvs://:pserver:anonymous:cmake@www.cmake.org:/cvsroot/CMake/CMake#4/14/2006"
Checking out the HEAD of a repository(with no password):
This is with a username of 'anonymous', empty password, and module 'zsh'
SRC_URI="cvs://:pserver:anonymous@zsh.cvs.sourceforge.net:/cvsroot/zsh/zsh"
