[tor-project] Retirement of Gitolite and GitWeb started, please migrate by end of year

Gitolite (git-rw.torproject.org) and GitWeb (git.torproject.org and https://gitweb.torproject.org) will be fully retired within 9 to 12 months (by the end of Q2 2024).

TPA will implement redirections on the web interfaces to maintain limited backwards compatibility for the old URLs.

Start migrating your repositories now by following the migration procedure, and please complete the migration by the end of year 2023.

See the full discussion in TPA-RFC-36.

Hi!

TL;DR: full write lockdown coming on gitolite, server shutdown hopefully
scheduled for March 2024. Please provide us with redirections for
projects not marked as "Migrated to GitLab" on https://gitweb.torproject.org/

## Status update

Back in June 2023, we have decided to fully retire the old Git
infrastructure and complete the GitLab migration.

I'm happy to announce this is a resounding (if incomplete) success, but
we still need your help!

The current situation is as follows:

538 Total
288 User
97 Other
87 Attic
49 Migrated
12 TPA
5 Extern / Mirror

That is: out of 538 Gitolite repositories, 49 are officially marked as
migrated to GitLab, 87 are in the "Attic" (that is, officially marked
unused), and there is a whopping 288 "User" repositories.

That looks actually pretty grim, but digging into the individual
repositories, all of the repositories that had commits after the
announcements have since migrated to GitLab!

(There's the notable exception of those 12 TPA's repositories, which we
have unfortunately failed to find the time to migrate so far.)

# What is next?

## Read-only mode: January or February 2024

At this point in our timeline, the next step is to disable write access
to all Gitolite repositories. But given that TPA still *requires* write
access, we cannot actually enforce this just yet.

So the next step is actually for us to eat our own dog food and finish
TPA's gitlab migration. (That's actually a fairly complicated process,
as we have rather exotic hooks setup in gitolite, touching many parts of
the infrastructure.)

Once that is done, we'll disable the global gitolite hooks and make any
incoming push activity trigger an error. If my evaluation is correct,
this should affect exactly no one.

Obviously, if you are still writing to gitolite right now (that is,
pushing to a remote like `git.torproject.org`), do let us know right
now!

## Full redirection and shutdown: March 2024

Once that is done, the final step is to migrate any repository that has
not been moved over yet, and install complete redirections for any
remaining projects.

After that, the gitweb (vineale) and gitolite (cupani) servers will be
shutdown to see if everything still works.

We hope to complete this work in March, but we need your help! As you
can see, a mere 10% of the repositories are officially migrated, yet
none of the repositories are actually active. Which means that most
repositories are actually migrated off already, but we do not have the
right redirections in place.

Please go through the list of projects on GitWeb:

https://gitweb.torproject.org/

If a project is not under the "Migrated to GitLab" header, it's because
we do not have a proper redirection setup and we need one.

The plan right now is to "forcibly migrate" any remaining repositories,
but right now I'm worried this will lead to massive code duplication in
GitLab, with repositories being present in two places.

I'm particularly worried about the 288 `user` repositories which are
probably mostly "forks" of existing repositories. But I guess this could
be process later on, by re-parenting repositories as needed.

For now, the priority is to complete the migration, and right now this
means completing the migration for TPA, and installing redirections for
everyone else.

## Server destruction: June 2024

Once we're confident things are under control under our new GitLab
overlord, the plan is to destroy the actual servers three months after
that...

## Complete destruction: June 2025

... and a year after *that*, actual backups are removed. This should
hopefully give anyone plenty of time to remember they forgot that thing
on that old server.

Details on the original proposal are in [TPA-RFC-36].

[TPA-RFC-36]: tpa rfc 36 gitolite gitweb retirement · Wiki · The Tor Project / TPA / TPA team · GitLab

···

--
Antoine Beaupré
torproject.org system administration

Hi!

So the gitolite server is now "locked down", in that any attempt at
pushing (or, for that matter, pulling) over SSH will fail with an error
like:

gitolite is deprecated, see tpa rfc 36 gitolite gitweb retirement · Wiki · The Tor Project / TPA / TPA team · GitLab

Let me know if that's a problem for anyone. If no one yells, I will
shutdown the server within the next 30 days, an extension over the
original timeline, which scheduled the shutdown in March 2024.

The actual destruction of the server is scheduled for June 2024.

The gitweb server remains operational for now, as we proceed with the
archival of the remaining repositories to GitLab.

a.

···

On 2024-01-11 15:47:48, Antoine Beaupré wrote:

Hi!

TL;DR: full write lockdown coming on gitolite, server shutdown hopefully
scheduled for March 2024. Please provide us with redirections for
projects not marked as "Migrated to GitLab" on https://gitweb.torproject.org/

--
Antoine Beaupré
torproject.org system administration