Hi all!
[please follow-up-to the openbsc@lists.osmocom.org mailing list, if there is any discussion, we don't want to drag it over tons of mailing lists in parallel]
Some weeks ago, I created https://osmocom.org/issues/5397 but it seems nobody noticed the ticket or had any comments to it.
So let me post this as RFC here on the mailing list:
In the past, we had a gitolite/gitosis setup, which was fine in the early days of git, but it means that people cannot easily create new repositories, see who has permissions, and we cannot delegate ownership. Even updating SSH keys requires manual interaction of a sysadmin like me.
I would therefore suggest to migrate git.osmocom.org to gitea[1]
This would allow the following features:
* users can self-create any number of personal repositories (like gitlab/github)
* we can create 'organizations' along the line of reasonably independent osmocom member projects like op25, who can then manage their own repos/permissions/...
* gitea can link to redmine wiki and redmine issue trackers (rather than using its own built-in)
For those repositories hosted in gerrit (mainly CNI), we would still keep git.osmocom.org a read-only mirror, like we do it right now.
For those repositories not hosted in gerrit, users/projects could then accept merge requests in gitea. Coupling this with 3rd party authentication via github/gitlab/etc should make it easier for the occasional contributor to submit changes.
There is a downside, of course; A lot of repo URLs have to change. Most of our current repositories are at git.osmocom.org/project.git while gitea follows a git.osmocom.org/organization/project.git scheme. I'm not sure there is any way to help to mitigate this...
Any thoughts, comments?
On Sat, Feb 05, 2022 at 09:57:29PM +0100, Harald Welte wrote:
For those repositories hosted in gerrit (mainly CNI), we would still keep git.osmocom.org a read-only mirror, like we do it right now.
All projects I work on are on gerrit. Does that mean I will not even notice that gitea was introduced?
Will I need to do anything on the gitea UI, other than creating a new repository once every other year, if at all?
Is it going to be gerrit on the one side, and gitea on the other, so that there are two "classes" of git repositories with different workflows required for each?
I don't personally have a reason to change anything, I see infrastructure fragmentation as something worth avoiding, and I don't particularly yearn for more web UI, but fine if it makes someone else's day. I did oppose adopting gerrit back in the days, and gerrit has indeed been a huge help in code review after all. So maybe this is cool, I trust your judgement there.
~N
On Mon, Feb 07, 2022 at 09:56:32PM +0100, Neels Hofmeyr wrote:
On Sat, Feb 05, 2022 at 09:57:29PM +0100, Harald Welte wrote:
For those repositories hosted in gerrit (mainly CNI), we would still keep git.osmocom.org a read-only mirror, like we do it right now.
All projects I work on are on gerrit. Does that mean I will not even notice that gitea was introduced?
indeed, for you it won't make a difference, I guess. At least not as long as you always clone your repos from gerrit and not from git.sysmocom.de.
Will I need to do anything on the gitea UI, other than creating a new repository once every other year, if at all?
nope.
Is it going to be gerrit on the one side, and gitea on the other, so that there are two "classes" of git repositories with different workflows required for each?
We already have that fragmentation today: Some repositories use gerrit, others not. Think of rtl-sdr, osmo-fl2k, gmr, ...
We clearly did not want to make the use of gerrit mandatory for those projects/ maintainers that don't want the related overhead.
I don't personally have a reason to change anything, I see infrastructure fragmentation as something worth avoiding, and I don't particularly yearn for more web UI, but fine if it makes someone else's day.
Today, most of the new git repositories, new ssh keys, etc to git.osmocom.org are added by me, and with gitea that won't be neccessary anymore. Admittedly, it's not a lot, but I think it's better to give more control to the program/project maintainers rather than the sysadmin of the server.
I did oppose adopting gerrit back in the days, and gerrit has indeed been a huge help in code review
Agreed.
Hi Harald,
Thanks for the email and the continued support of the OP25 project. I don't seem to have permissions to the original ticket.
Moving to gitea looks great and the additional features look very handy.
Cheers, Matt
[image: image.png]
---------- Forwarded message --------- From: Harald Welte laforge@osmocom.org Date: Sun, 6 Feb 2022 at 08:01 Subject: [op25-dev] RFC: migrating git.osmocom.org to gitea? To: openbsc@lists.osmocom.org Cc: simtrace@lists.osmocom.org, tetra@lists.osmocom.org, < osmocom-sdr@lists.osmocom.org>, op25-dev@lists.osmocom.org, < baseband-devel@lists.osmocom.org>
Hi all!
[please follow-up-to the openbsc@lists.osmocom.org mailing list, if there is any discussion, we don't want to drag it over tons of mailing lists in parallel]
Some weeks ago, I created https://osmocom.org/issues/5397 but it seems nobody noticed the ticket or had any comments to it.
So let me post this as RFC here on the mailing list:
In the past, we had a gitolite/gitosis setup, which was fine in the early days of git, but it means that people cannot easily create new repositories, see who has permissions, and we cannot delegate ownership. Even updating SSH keys requires manual interaction of a sysadmin like me.
I would therefore suggest to migrate git.osmocom.org to gitea[1]
This would allow the following features:
* users can self-create any number of personal repositories (like gitlab/github)
* we can create 'organizations' along the line of reasonably independent osmocom member projects like op25, who can then manage their own repos/permissions/...
* gitea can link to redmine wiki and redmine issue trackers (rather than using its own built-in)
For those repositories hosted in gerrit (mainly CNI), we would still keep git.osmocom.org a read-only mirror, like we do it right now.
For those repositories not hosted in gerrit, users/projects could then accept merge requests in gitea. Coupling this with 3rd party authentication via github/gitlab/etc should make it easier for the occasional contributor to submit changes.
There is a downside, of course; A lot of repo URLs have to change. Most of our current repositories are at git.osmocom.org/project.git while gitea follows a git.osmocom.org/organization/project.git scheme. I'm not sure there is any way to help to mitigate this...
Any thoughts, comments?
Dear Osmocom community,
[please follow-up-to the openbsc@lists.osmocom.org mailing list, if there is any discussion, we don't want to drag it over tons of mailing lists in parallel]
Back in February I was posting a related RFC, and now the migration is complete, at least for all externally visible aspects relevant to users and developers.
I've tried to make it as backwards-compatible as possible, meaning that;
* we do have https://gitea.osmocom.org/ by now
* gitea is the primary system for all non-gerrit repositories (mostly projects outside the cellular network infrastructure), see e.g. https://gitea.osmocom.org/phone-side/osmo-qcdiag
* gitea is a secondary/mirror for all gerrit hosted repositories (mostly projects within the cellular network infrastructure). Those repositories are marked as mirros with an icon next to the repository name, see e.g. https://gitea.osmocom.org/osmocom/libosmocore
* https://cgit.osmocom.org/ renders the old cgit user interface for time to come
* https://git.osmocom.org/ main page redirects to gitea
* per-project https://git.osmocom.org/libosmocore redirects to the right gitea URL for each project (by means of a series of about 200 nginx rewrite rules). This also means that cloning from old https URLs remains working
* cloning from the git:// URLs also remains working
* deep links to individual commits, or to the /patch URL as used in our Dockerfiles for cache invalidation on source code change remain valid
So this means that all existing links, search engines, read-only clones, etc. will continue to work for those repositories that were still created in the pre-gitea time.
However, for developers with commit/push access to non-gerrit repositories, there are some changes:
1) you will neeed to create an account on https://gitea.osmocom.org/ - and register your SSH public key[s] there. Unfortunately due to a bug in redmine we cannot yet use the redmine OpenID provider, so you need to create a separate account. If you're missing permissions for certain respositories, please contact me by private mail or create an issue in https://osmocom.org/projects/osmocom-servers
2) you will need to change the git+ssh push URLs if you want to push to repositories *not* hosted on gerrit. I've attached a CSV file for the old vs. new URLs to https://osmocom.org/attachments/5148. You can change the URL in your .git/config files manually, or you can use the 'git remote set-url' command to do that.
If something is not working as expected, please let me know. The main ticket for the gitea migration is https://osmocom.org/issues/5397
Regards, Harald
Hi Harald,
Back in February I was posting a related RFC, and now the migration is complete, at least for all externally visible aspects relevant to users and developers.
\o/ Great, thanks a lot for setting that up.
Cheers,
Sylvain