Salsa provides services which partially replace some features of the former Alioth service. The following hints may help you to move your packaging collaboration effort from Alioth to Salsa.

Many Alioth features are (intentionally) not provided by the Salsa platform. You may want to take a look at the related discussion during a sprint for the detailed reasons for this decision.

There is potential overlap between this section and the Alioth#Deprecation_of_Alioth documentation. Be careful to avoid adding documentation here that's already there and vice versa. Add links instead, as is already done. Also consider contributing documentation to the generic Salsa/Doc documentation instead if it can be useful for new Salsa users that don't know or care about Gitlab as well. -- TheAnarcat 2018-03-13 16:09:16

Canonical Repository URLs

See Salsa/Doc#Canonical_URLS for the new URLs.

Custom Hooks

For security reasons it is not allowed to run arbitrary custom hooks on repositories. You may want to write yourself a webhook receiver and put your custom actions into such a one.

Alternatively you may use the common webhook receiver or even enhance it with new features, see https://salsa.debian.org/salsa/webhook for details on it.

Import git repository

This is currently done by hand but Christoph Berg's wrote a handy batch import script that you can use to import your projects semi-automatically.

Once a repository is migrated, you may want to archive the repository on Alioth. One way to do this is to add a pre-receive hook that exits with a non-zero status code, for example, when logged in on Alioth (using ssh git.debian.org):

$ cat /git/collab-maint/magic-wormhole.git/hooks/pre-receive 
#!/bin/sh

cat <<EOF
Repository was moved to Salsa.

https://salsa.debian.org/debian/magic-wormhole

Push refused, this repository was archived. Update your remotes to use the following URL instead:

git@salsa.debian.org:debian/magic-wormhole.git

EOF
exit 1

Make sure the file is executable (chmod +x) and also update the description similarly so the web interface shows the change as well. You can do this automatically with ~hertzog/bin/disable-repository <path-to-git-repo> <name-of-salsa-group>.

You may also want to add an HTTP redirect from the old repository on Alioth to the new one on Salsa (git:// and git+ssh:// cannot be redirected, so you should still make sure to add the pre-receive hook above). You can do this by sending a merge request for AliothRewriter.

To find repositories to migrate, you might like the following find commandline:

$ find ~/src -ipath '*.git/config' -exec grep -H 'url.*git\.debian' '{}' \;

replace ~/src by the path where you usually store your git repositories.

Import non-git version control repository

Only git repositories are supported by the Salsa platform.

You may want to take a look at the reasons for not supporting other version control systems within Salsa.

Import mailing list

Salsa does not offer any mailing list features on its own (see discussion). There are three options to replace the mailing list:

  1. migrate to lists.debian.org
  2. stay on lists.alioth.debian.org
  3. migrate to tracker.debian.org
  4. use gitlab notifications

See below for details.

lists.alioth.debian.org

A team is attempting to migrate lists previously on alioth to a new service retaining the same name @lists.alioth.debian.org; see Alioth/MailingListContinuation and the announcement.

lists.debian.org

Some mailing lists that were formerly hosted on Alioth may be eligible for being hosted on lists.debian.org. The lists eligible for migration must follow the requirements outlined on the "How to ask a mailing list" guide. The process is also the same as outlined on the guide.

The following kind of lists are probably acceptable for lists.debian.org:

Short version: file a bug on the pseudo-package lists.debian.org with the severity 'wishlist', with the following information:

Lists migrated from Alioth are expected to be open, that is:

If you do want the archive and/or the subscribers to be imported into your new mailing list, please:

The export only works if the 'Is archive file source for public or private archival?' archive setting is true.

Before any migration ensure that there is consensus about the migration and that you have permission from the subscribers. For privacy reasons we expect that the migration process is done by an admin of the list or the alioth project.

Also, please understand that the requirements and features for lists on lists.debian.org are not the same as for a mailing list on Alioth, and the listmaster might reject your request. Lists.debian.org is not supposed to replace all mailing lists and aliases on Alioth.

tracker.debian.org

Smaller teams can use the mail interface of tracker.debian.org to register to package changes and reach out to other maintainers in a team. For example, commit notifications for third-party repositories can use the dispatch+<package>_vcs@tracker.debian.org email address to send notifications to maintainers. For the maintainer field, the <package>@packages.debian.org address should be used (although that needs the fix for 871575 to be deployed on ftp-master, see this discussion for details.

See also the distro tracker email interface documentation for more details.

Clarification Request / Open Questions

gitlab notifications

In Gitlab, anyone can subscribe to different notifications for changes in a repository. This can replace the traditionnal -commit mailing lists that are on alioth, hopefully.

Import members of a team

It is not possible to transfer the members of an Alioth team to Salsa. You will need to ask the members of your team to join your team on Salsa individually.

Host project web pages

See Salsa/Doc#Web_page_hosting.

Share a group with all Debian developers

On Alioth, some repositories were configured in such a way that all Debian developers had automatically write access regardless of their membership to the corresponding Alioth team. It is possible to do the same on Salsa by sharing a project with the Debian group, which contains all debian developers as members.

To achieve that, go to the page of the project, and under Settings -> Members, there is a tab "Share with group". Select the group Debian.

Note that doing so will clutter the list of groups of all Debian developers (see https://gitlab.com/gitlab-org/gitlab-ce/issues/43397). Also this operation is not so easy to script compared to the rest (see https://lists.debian.org/debian-perl/2018/01/msg00045.html and https://salsa.debian.org/mehdi/salsa-scripts/issues/5).

Setting Alioth git repo read-only

Setting the Alioth git repository to read-only is describe above. It is in the git import paragraph. Because I missed initially, I added this paragraph.