From owner-freebsd-git@freebsd.org Thu Jun 25 18:33:57 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 6F60C3419E8 for ; Thu, 25 Jun 2020 18:33:57 +0000 (UTC) (envelope-from adridg@freebsd.org) Received: from lb3-smtp-cloud8.xs4all.net (lb3-smtp-cloud8.xs4all.net [194.109.24.29]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "smtp.xs4all.net", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 49t7vT0130z4Qxd for ; Thu, 25 Jun 2020 18:33:56 +0000 (UTC) (envelope-from adridg@freebsd.org) Received: from cust-d4a83f22 ([IPv6:fc0c:c11d:cecc:f58a:eaa1:c0:9d8f:c143]) by smtp-cloud8.xs4all.net with ESMTPA id oWh7jhPhJ97i5oWh8jXCEE; Thu, 25 Jun 2020 20:33:55 +0200 From: Adriaan de Groot To: freebsd-git@freebsd.org Subject: Re: svn primer translation to git Date: Thu, 25 Jun 2020 20:33:47 +0200 Message-ID: <5295692.8gLySxXtyI@beastie.bionicmutton.org> Organization: FreeBSD In-Reply-To: References: <20200625171314.GB75705@spindle.one-eyed-alien.net> MIME-Version: 1.0 Content-Type: multipart/signed; boundary="nextPart4824989.YNO7O01DYZ"; micalg="pgp-sha256"; protocol="application/pgp-signature" X-CMAE-Envelope: MS4wfFeUUhScBJ3aumMSchMnr7HBcHx5RLamPA9G7Wpoe0gRDX+3o1N4dYtZX9uyV1sa6dBXFX2wpMyi72Vkbbdufjl1kzfsQWsgfGxClGKEsvVoVZkrVjTw EefG0Nf6N5+QKwQ9UUzPxCmYAAm0w420W7LkkaA2LJtvIZrfj+8utPooFsIYq/R8DFp0me0c4CWaJA== X-Rspamd-Queue-Id: 49t7vT0130z4Qxd X-Spamd-Bar: / Authentication-Results: mx1.freebsd.org; none X-Spamd-Result: default: False [0.00 / 15.00]; local_wl_from(0.00)[freebsd.org]; ASN(0.00)[asn:3265, ipnet:194.109.0.0/16, country:NL] X-BeenThere: freebsd-git@freebsd.org X-Mailman-Version: 2.1.33 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: Thu, 25 Jun 2020 18:33:57 -0000 --nextPart4824989.YNO7O01DYZ Content-Transfer-Encoding: 7Bit Content-Type: text/plain; charset="utf-8" On Thursday, 25 June 2020 19:47:24 CEST Warner Losh wrote: > > One practice I've not adopted that we may want to recommend (especially > > if we're going to have pre-commit scripts for people to install) is to > > make your origin use a read-only url so you have to make an explicit > > push to (e.g.) a freebsd remote. At least at the beginning when it > > appears we're going to be allowing direct commit, that's a way to > > limit foot shooting. > > I almost always do a git show for each and every commit I push. The few > times I've tried to short cut this, I've wound up in trouble. Something else to explicitly discourage is fast-cycle "git commit -a ; git push" which I've seen some people do in other projects: it mimics the svn approach of "when you commit it goes to the central repo immediately" but misses all the useful bits of a DVCS -- the ones Warner just mentioned, of rewriting local history and making the branch or sequence of commits logical and well-documented in commit messages. This might sound a little Linussy, but maybe we should for a while offer "git intermediates" where act like the Linux staging trees / lieutenants who gate things through to the primary repository. That can help alleviate friction when people start pushing their own stuff. Oh, and I should mention the KDE setup of GitLab, too: - merges in the real repository *socially* require a review and merge by someone else (this can also be done technically, but that's a GitLab enterprise feature) - pushes to normal branches are ok (this is where some MRs come from) but you can't force-push - branches called work/ are .. work branches, and force-pushes are ok there. This approach means that you can coach people on their work branches, before merging them in to the primary branch with whatever strategy you like. It slows down *some* things, just a little bit, (nice when it's a footcannon) and helps people up the git learning curve. [ade] --nextPart4824989.YNO7O01DYZ Content-Type: application/pgp-signature; name="signature.asc" Content-Description: This is a digitally signed message part. Content-Transfer-Encoding: 7Bit -----BEGIN PGP SIGNATURE----- iQGzBAABCAAdFiEEV+FL0c1sGYvBG/GNYafSYnfk0NsFAl707gsACgkQYafSYnfk 0NtzcQwAp6pAJAKCAyHXpHzAgjkgfQBf27SiJIT3ivCV72MfJmhu4LESRdGZmwOf 2kKZ2w2YlP2HfnNF39ar6fA/INUV4K0oP7FlBUvD124oKwuwmpKjzCBcl9gxtKmO JBAMBDipmGe6jwR70kqKl5mYpALsmemvKwG3PmEAAuY0ChCFkrL5eWiS46mXsPy5 n/ldKUFhtFc67s63pRzo84HBvvTxZXx81LZGWhCJCXttxLcI8T8mJiIkIgz9FZw+ 5nJwbXEyCG7D2t/ytDDI1/MGDFx+qqH3UBBkQnhl+yLtGAyOT6N3jXEaEDSoD1De /XzvnnjWeTX972o+JPi8+D+j/1uvJEyWW+6mOC7d64QmPFW+PDJxn29ACE+KwFFp dI1zevIXu2ZvBMtdNePyudN0Ff4oq14GsIe8p3pIAUl793c9BAzgCbmFNKvA0DtK 7gtsQAvlyl7A7FlJd5FdYYxTOzaS0uRO0NhnXXQFYLSzeOdeBuAjeu5K5KNUrPeq BnG/hHk0 =Fo7Q -----END PGP SIGNATURE----- --nextPart4824989.YNO7O01DYZ--