5.6.26. Version Control System (VCS) fields

Debian source packages are increasingly developed using VCSs. The purpose of the following fields is to indicate a publicly accessible repository where the Debian source package is developed.

Vcs-Browser

URL of a web interface for browsing the repository.

Vcs-<type>

The field name identifies the VCS. The field’s value uses the version control system’s conventional syntax for describing repository locations and should be sufficient to locate the repository used for packaging. Ideally, it also locates the branch used for development of new versions of the Debian package.

The following values for <type> are supported, with the corresponding VCS indicated in parentheses if it isn’t obvious:

  • Arch

  • Bzr (Bazaar)

  • Cvs (CVS)

  • Darcs

  • Git

  • Hg (Mercurial)

  • Mtn (Monotone)

  • Svn (Subversion)

In the case of Git and Mercurial, the value consists of a URL, optionally followed by the word -b and the name of a branch in the indicated repository, following the syntax of the git clone or hg clone command. If no branch is specified, the packaging should be on the default branch.

A package control file must not have more than one Vcs-<type> field. If the package is maintained in multiple version control systems, the maintainer should specify the one that they would prefer other people to use as the basis for proposing changes to the package.

For both fields, any URLs given should use a scheme that provides confidentiality (https, for example, rather than http or git) if the VCS repository supports it.