Translation(s): English - Italiano

(!) ?Discussion


Using darcs on Alioth

Creating a new public darcs repository (for a new project)

See Alioth/FAQ#vcs-repos, you have to change the type of repository used by your project. It will then get created in /darcs/<project-group>.

<!> Note: Instead of registering a separate project(s) for packages, consider using the Collab Maint project; see Alioth/PackagingProject for more information. Once granted access to that project (DD have access by default, non-DD must request it) you can start hosting darcs project immediately by logging into alioth.debian.org and creating a darcs repository under /darcs/collab-maint/.

To initialize your remote repository, you have to run under /darcs/<group> (<group> can be collab-maint if you don't have a dedicated project):

$ umask 002
$ mkdir <project>
$ cd <project>
$ darcs init

Darcsweb offers the possibility to show some special values, like repository description (desc), repository URL (url) and upstream repository URL (projurl). You need to modify the following files:

$ cd /path/to/<project>
$ mkdir -p _darcs/third_party/darcsweb
$ vim _darcs/third_party/darcsweb/desc
$ vim _darcs/third_party/darcsweb/url
$ vim _darcs/third_party/darcsweb/projurl

Then you have to put some real content in that empty repository. Either darcs pull on darcs.debian.org or darcs push from a remote host to darcs.debian.org. See below for the darcs URLs that you can use.

<!> Example: To push a project to an alioth collab-maint repository:

$ cd /path/to/<project>
$ darcs push <login>@darcs.debian.org:/darcs/collab-maint/<project>

Accessing repositories

They are accessible by darcs using http (read-only) or ssh (read/write), or by darcsweb at http://darcs.debian.org (read-only). For instance, you'll be able to check out your branch though ssh with:

$ darcs get <login>@darcs.debian.org:/darcs/<group>/<project>

Anonymous users will enjoy read-only access with following commands. The <group> could be e.g. package name or collab-maint if hosted collaboratively.

$ darcs get http://darcs.debian.org/darcs/<group>/<project>

Setting up hooks

Commit mails with diff

Since darcs in Debian is missing this feature (see Debian bug 462330), a workaround has been installed as /usr/local/bin/darcs-email-changelog.

To send diffstats to a mailing list and the PTS use:

$ cd <project>
$ cat >_darcs/prefs/defaults
  apply run-posthook
  apply posthook \
   TO=<alioth-project-name>-commits@lists.alioth.debian.org \
   BCC=<project>_cvs@packages.qa.debian.org \
   PROJECT=<alioth-project-name> \
   REPO_NAME=<project> \
   /usr/local/bin/darcs-email-changelog

Sending notices on IRC via CIA bots

Some hooks meant for CIA are there: http://cia.vc/doc/clients/

Using personal darcs repositories

It is also possible to have personal darcs repositories. Just log in on alioth, then

$ mkdir ~/public_darcs

and put your darcs repositories there, e.g. <project>.

After a few hours they will be automatically detected and listed on http://darcs.debian.org. The repositories are available through the following URLs:

$ darcs get http://darcs.debian.org/~<login>/<project>
$ darcs get <login>@darcs.debian.org:~/public_darcs/<project>


CategoryAlioth