From owner-freebsd-git@freebsd.org Thu Jun 25 17:13:15 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 B49E535FD4C for ; Thu, 25 Jun 2020 17:13:15 +0000 (UTC) (envelope-from brooks@spindle.one-eyed-alien.net) Received: from spindle.one-eyed-alien.net (spindle.one-eyed-alien.net [199.48.129.229]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 49t66M0TY5z4LdM; Thu, 25 Jun 2020 17:13:14 +0000 (UTC) (envelope-from brooks@spindle.one-eyed-alien.net) Received: by spindle.one-eyed-alien.net (Postfix, from userid 3001) id 4E99B3C0199; Thu, 25 Jun 2020 17:13:14 +0000 (UTC) Date: Thu, 25 Jun 2020 17:13:14 +0000 From: Brooks Davis To: Sean Chittenden Cc: Ed Maste , freebsd-git@freebsd.org Subject: Re: svn primer translation to git Message-ID: <20200625171314.GB75705@spindle.one-eyed-alien.net> References: <20200625165547.GA75705@spindle.one-eyed-alien.net> MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="wq9mPyueHGvFACwf" Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.9.4 (2018-02-28) X-Rspamd-Queue-Id: 49t66M0TY5z4LdM X-Spamd-Bar: -- Authentication-Results: mx1.freebsd.org; dkim=none; dmarc=none; spf=none (mx1.freebsd.org: domain of brooks@spindle.one-eyed-alien.net has no SPF policy when checking 199.48.129.229) smtp.mailfrom=brooks@spindle.one-eyed-alien.net X-Spamd-Result: default: False [-2.74 / 15.00]; ARC_NA(0.00)[]; NEURAL_HAM_MEDIUM(-0.30)[-0.303]; FROM_HAS_DN(0.00)[]; RCPT_COUNT_THREE(0.00)[3]; TO_DN_SOME(0.00)[]; NEURAL_HAM_LONG(-0.82)[-0.817]; MIME_GOOD(-0.20)[multipart/signed,text/plain]; DMARC_NA(0.00)[freebsd.org]; AUTH_NA(1.00)[]; TO_MATCH_ENVRCPT_SOME(0.00)[]; NEURAL_HAM_SHORT(-0.72)[-0.723]; SIGNED_PGP(-2.00)[]; FORGED_SENDER(0.30)[brooks@freebsd.org,brooks@spindle.one-eyed-alien.net]; RCVD_COUNT_ZERO(0.00)[0]; R_SPF_NA(0.00)[no SPF record]; R_DKIM_NA(0.00)[]; MIME_TRACE(0.00)[0:+,1:+,2:~]; ASN(0.00)[asn:36236, ipnet:199.48.128.0/22, country:US]; FROM_NEQ_ENVFROM(0.00)[brooks@freebsd.org,brooks@spindle.one-eyed-alien.net] 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 17:13:15 -0000 --wq9mPyueHGvFACwf Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On Thu, Jun 25, 2020 at 10:08:28AM -0700, Sean Chittenden wrote: > > > > generally follow a process of staging with `git add -p` + `git add` for > > new files followed by `git status` and/or `git diff --staged`, and then > > `git commit`. > > >=20 > This is a good callout, Brooks. >=20 > I'm routinely shocked by the number of people who don't know about or use > `git add -p` as their muscle-memory way to add something to a commit. We > definitely should go out of our way to document best practices. For > instance, this has been the workflow that I've worked in or pushed teams = to > for the last 6yrs and have had decent success: >=20 > 1. Create Github issue > 2. git checkout -b gh-${issue_number} > 3. git add -p > 4. git status > 5. git diff --staged > 6. git commit > 7. git push -u origin gh-${issue_number} >=20 > Where `gh-` would be whatever bug-tracking system of choice that you fanc= y, > but it keeps branch naming concise and gives the future reader a hint as = to > where to look for discussion. While there may be variants of this, we > should begin to prescribe a consistent workflow that does not encourage > `git commit -a -m "fixedit"` or committing directly to main (svn's fka > trunk branch). 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. -- Brooks --wq9mPyueHGvFACwf Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iQEcBAEBAgAGBQJe9NspAAoJEKzQXbSebgfA+HUH/jE7c4LxyWvaBPj7WjJCLDiZ SeE3DOMQCb9YqHsbeisDfh2Bwg4A5oRE3uAkvcmBMY+zPlkgB6bwvWTw7v9Rc581 0dNR9/jeppSpeX4OR5UGWpNg/BpLLNQBf/629Zl1+lJf+f1PJuIZ1O1vN91CPsKi olWpcNnEO3lIurq0D6Y3vmvypvhFWWhNiUhYpbwTcG5b58yEyROhpvE2Jpvh2UAv 5IYx8ipRcvnIam9ivk8sKtbSpX2wvh6i8ifGA/Sz5/fKkEgmSvAo7NOkmI42bXqL zJvqzhLZs6Q6Ws713G/DLxhYmyhar5BGR6K4STski6uOmyr4+ZIPtUkj8p2X6MY= =+ILz -----END PGP SIGNATURE----- --wq9mPyueHGvFACwf--