From owner-freebsd-git@freebsd.org Tue Feb 4 15:37:38 2020 Return-Path: Delivered-To: freebsd-git@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 99F6622924F for ; Tue, 4 Feb 2020 15:37:38 +0000 (UTC) (envelope-from adridg@freebsd.org) Received: from lb2-smtp-cloud7.xs4all.net (lb2-smtp-cloud7.xs4all.net [194.109.24.28]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "smtp.xs4all.net", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48BpjZ2BXyz43HC; Tue, 4 Feb 2020 15:37:38 +0000 (UTC) (envelope-from adridg@freebsd.org) Received: from beastie.bionicmutton.org ([62.251.92.29]) by smtp-cloud7.xs4all.net with ESMTP id z0GciTA2DVuxOz0GdiKWqX; Tue, 04 Feb 2020 16:37:36 +0100 From: Adriaan de Groot To: freebsd-git@freebsd.org Subject: Re: Experiences with self-hosted git servers Date: Tue, 04 Feb 2020 16:37:28 +0100 Message-ID: <4555909.1rqTVSEV2j@beastie.bionicmutton.org> Organization: FreeBSD In-Reply-To: References: MIME-Version: 1.0 Content-Type: multipart/signed; boundary="nextPart2043843.cYikG52F1y"; micalg="pgp-sha256"; protocol="application/pgp-signature" X-CMAE-Envelope: MS4wfHDH71GkdZ1BgnwINWwbIlzuu/5WYzMspRo1C2fHWb1yBRYPJAr37IPLvQYGdmTe7tKTvv7Fgv3m0EdLW5HvhjOaheH1zyi0IL3WA0P2wac0b4M2ceuX rmQk0im5wZUK3c1D7pxZuTdcSQDx3gkxyUp1QOTWcAbE25qGukRuORotxgcWnfs5bgMifz6S42OeYTf6LyIJPsA1FpMDgJitn4/L6Tc6ixc3DedOXWfFXIht 0KahAnqON5F//Zk+ggo03Q== X-Rspamd-Queue-Id: 48BpjZ2BXyz43HC X-Spamd-Bar: ----- Authentication-Results: mx1.freebsd.org; none X-Spamd-Result: default: False [-5.99 / 15.00]; NEURAL_HAM_MEDIUM(-0.99)[-0.993,0]; REPLY(-4.00)[]; NEURAL_HAM_LONG(-1.00)[-1.000,0] X-BeenThere: freebsd-git@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Discussion of git use in the FreeBSD project List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 04 Feb 2020 15:37:38 -0000 --nextPart2043843.cYikG52F1y Content-Transfer-Encoding: 7Bit Content-Type: text/plain; charset="utf-8" On Tuesday, 4 February 2020 15:37:57 CET Ed Maste wrote: > There are a number of options for self-hosting, such as Gitea, GitLab, > as well as git's plain built-in server. Phabricator (which we use for > code reviews) also includes a repository hosting module named > Diffusion. > > I am interested in hearing from FreeBSD users and developers who have > used one or more of these, or other Git hosting tools - what worked > well, what didn't? What do you wish you had known before getting > started? With my KDE hat on (yet my FreeBSD mail address): talk to KDE sysadmin (part of whom I'm BCCing). We migrated from SVN to git a few years ago, and first did cgit (that's git's internal server, I think) plus reviewboard; then cgit plus phabricator; now we're migrating to GitLab and dropping cgit and phabricator. That last migration is taking a while. KDE differs from FreeBSD in that we have about 300 repositories (one for each bit of KDE software) rather than a small number of really big repo's (e.g. src, ports). There is a vaguely similar mechanism of "joining the project" and code-review is generally enforced by social contract, like in FreeBSD ports. GitLab is generally pretty responsive in working with larger Free Software projects; it is used by KDE and Gnome in that way, who have their self-hosted Community Edition GitLabs to work with, more-or-less integrated with their own identity provider systems. Having a web-based workflow, that also supports drive-by-contributions, is seen as a bonus over plain git + phab. Especially Phabricator seems to be a drag on potential-new-contributors (and I'm not sure if it's developed anymore, which is one of the reasons KDE is switching away from it). Mainly for the move to GitLab: - figure out what role issues will play; are those for reviews? Developer planning? bug reports? How do they align with Bugzilla use? - figure out a branching strategy; what kind of private branches do you want? where are force-pushes allowed (eg. when rebasing or re-doing a patchset)? squash or maintain development history? commit to master only? - think about a labels- and tags-scheme; [ade] --nextPart2043843.cYikG52F1y Content-Type: application/pgp-signature; name="signature.asc" Content-Description: This is a digitally signed message part. Content-Transfer-Encoding: 7Bit -----BEGIN PGP SIGNATURE----- iQIzBAABCAAdFiEEUq+pvuD+N8/vVW++WoDe9T7W/7IFAl45j7gACgkQWoDe9T7W /7IXERAAo1W+t9WC+u7f57m3/4isyQ/msLY2XGJrnL5KF9FK+IPYabnyjvGEHt3D 0nXnmL/moYjr8T+T8k2sagIhqEA0YRhmH3qsb2Y9DuLyRRjOL30qWubrw9Qv1yxW pVoeHWaRYECkpHLjuQEB0UJ/DQWelq10EK8ntiU7qwzoCc5YJA7bseu58OUv4Pyg NrUh9L0ANhW7xwZjCNxdipPy3oODcxUBSfmLbIxwfoGafSd8IqwWNHiZRVh9viRY 2pLuyxwbfCpjMqjVzGKLz/heoX++KGSCuvBJO2LldxYa+UcdM+6VHe2gwgmLXE2W hsgs/4UHW+KW8Pq32AuHOMoY0cNDDD1Yfhe5Hd+pXFB27ZO/SzupmXCEw4cTHXaj B3zahYpt+yqFyHlQGV/t+7wsxDtyWLHLQ319BJcGSpi2AYf+cW3/rzbfYPio+ntx TQGRuoogYOlRE7QR1eqkBq1RqaBUYjxyXvDp3GZ6FgiKRrqxRVBhCru7T6uS18kv eMa0HGsBj57WX7/Fh97gNcAoiUandOKHpePBOtKcsSbPjaAgdJvMwbPTOmbCu4B7 p5zQ1RI7ZzFpryake/RW97r5azhPtLmA/VNm8vTdDdgO0AkeM4DmH5dUeMFeRgvx tTZpKh1fLxomOSrhuDo8qdVspk+oRqZ8tHPjWAnI70H9iWh5k6c= =DhuP -----END PGP SIGNATURE----- --nextPart2043843.cYikG52F1y--