Infrastructure Upgrades/Changes: Git(ea)

Matthew Brush mbrush at codebrainz.ca
Sun Oct 8 09:49:16 CEST 2017


On 2017-10-07 03:21 PM, Simon Steinbeiss wrote:
> Hi everyone,
> 
> there have been discussions around our current infrastructure - be it
> hardware or software - and following Gnome's discussions around moving from
> cgit/gitolite+bugzilla to something that feels a little less dated and
> provides more integrations (they are ogling at Gitlab) we have also had
> several discussions of our own.
> 
> We have started writing up requirements for the new infrastructure (again,
> both hardware and software) and have started looking into candidates more
> concretely.
> For the software one hard requirement is self-hosting, a few more are
> features we would like to either get or not lose over the status quo. Of
> the candidates we took into closer consideration (Gitlab and Gitea) we have
> been leaning towards Gitea. In short, Gitea is a very Github-like (some say
> it's a clone), lightweight piece of software that provides a Git server
> (with collaboration features like pull-requests), a very simple issue
> tracker (like the one of Github) and a very simple internal wiki. The
> latter two components can either be disabled or redirected at external
> services.
> 
> In order not to get stuck in endless discussions (which could be dragged
> out by the fact that people have lives and can't always participate in the
> discussions) I would like to propose that we try to move ahead with a
> switch to Gitea.
> I know that feels a little dramatic and I'm hoping to also spark some
> discussion here, but it's not as brutal as it may sound.
> 
> The current proposal for phase 1 would be the following:
> 1) Replace cgit/gitolite with Gitea (for browsing and administering Git
> repos)
> 2) Keep Bugzilla and Dokuwiki for their purposes (you can see the
> integration in the instance Skunnyk set up)
> 
> The migration and setup of the Xfce repositories can be automated quite
> nicely (Skunnyk has already done that) so that part is not a real blocker.
> What we have to figure out to some extent is
>   * how to manage permissions (there are organisations, teams and per
> repository permissions as different layers for which we will need a concept)
>   * how to best migrate/set up the hooks (both for the Github mirror and the
> bugzilla comments)
>   * to what extent to allow everyone to register and create forks (what
> private repos are in cgit atm) in order to submit pull requests
> 
> For the future Gitea still provides the following points (imo):
>   * issue tracking (migrating away from Bugzilla)
>   * release management (potentially replacing archive.xfce.org by uploading
> signed tarballs to Gitea)
>   * continuous integration integration (yeah, double the integration!)
>   * considering whether we ever want to use the internal wiki for anything
> 
> So far we haven't really found anything where Gitea lacks over
> cgit/gitolite feature-wise. (Even the hyperlinks on Bugzilla issues work.)
> However this does not mean that we will potentially find any drawbacks of
> this situation. The good news is that switching back is not very painful,
> as far as we can tell. As only Git management moves to Gitea that's the
> only part that would have to be switched back.
> 
> Finally I would argue that it would be beneficial to try this out for real
> (instead of toying with a staging instance over a longer period of time)
> because we already have limited resources, so toying with stuff is usually
> something people don't have too much time for anyhow. While I can easily
> push to both cgit and Gitea, this doesn't mean I'll be familiar with the
> features or way of working of either (as I'm in both cases only using the
> Git command-line locally as my main interaction).
> 
> So anyway, that's the proposal in full. I know it was/is a lot, but thanks
> for reading and even more so for commenting and a healthy discussion.
> 

This sounds cool.

I only really ever work on Mousepad, but my observations (pain points) 
of the current infrastructure which could probably be solved during the 
switch:

   * Multiple logins to remember/manage (ex. bugzilla, git, wiki, 
mocha?, etc)
   * Git using SSH keys rather than username/password credentials (even 
if technically superior) is more cumbersome for those not accustomed to it.
   * Making releases is difficult, requiring knowledge of some custom 
software and workflow. I can never seem to figure it out (hence Mousepad 
having extremely infrequent releases). Something simple like Github 
releases would be cool.
   * Inability to grant permissions to trusted contributors for the bug 
tracker component or Git push rights myself.

Personally, I'd prefer if Xfce was just on Github so I don't need 
additional credentials and to learn other software, but I can understand 
some people don't like relying on 3rd parties for such things. The 
biggest advantage of Github, which is especially important for a project 
like Xfce, is to reduce friction for contributors, making it easy for 
people to contribute without the overhead of signing up for yet another 
website account and learning a new software. I myself often don't report 
bugs or submit trivial patches to projects due to this burden.

Thanks for working on this.

Regards,
Matthew Brush


More information about the Xfce4-dev mailing list