HaikuPorts
  • Login
  • Preferences
  • Help/Guide
  • Wiki
  • Timeline
  • Roadmap
  • View Tickets
  • Search
  • Port Log
  • Blog
wiki:VersionControlURI

Context Navigation

  • ← Previous Version
  • View Latest Version
  • Next Version →


Version 4 (modified by scottmc, 5 years ago) (diff)

made the supported types list non-linkable.

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

  • cvs://
  • svn://
  • svn+http://
  • svn+https://
  • hg+http://
  • hg+https://
  • git://
  • 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]

Real world examples

Subversion

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

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

Cloning a specific changeset:

SRC_URI="git://cmake.org/cmake.git#c6fdff2b223d8527600a7df13638cd0258db4de7"

CVS

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"

Download in other formats:

  • Plain Text

Trac Powered

Powered by Trac 0.13dev-r10686
By Edgewall Software.

Visit the Trac open source project at
http://trac.edgewall.org/