Date: Thu, 25 Jun 2020 18:06:21 +0000 From: Brooks Davis <brooks@freebsd.org> To: Warner Losh <imp@bsdimp.com> Cc: Sean Chittenden <sean@chittenden.org>, freebsd-git@freebsd.org Subject: Re: svn primer translation to git Message-ID: <20200625180621.GC75705@spindle.one-eyed-alien.net> In-Reply-To: <CANCZdfow92K_a-60VyzhkkCMg7MjXfJz1zwSisGTT1qdTCD31g@mail.gmail.com> References: <CAPyFy2Dy4cLQpgUsk_ushXsQFvRPk2S8SEfgWF=0xibGRGJvKw@mail.gmail.com> <20200625165547.GA75705@spindle.one-eyed-alien.net> <CAHevUJE-Es=8sw6zGioS-UuaQNhhkbGJZdG9hbsosS7ENYUY-g@mail.gmail.com> <20200625171314.GB75705@spindle.one-eyed-alien.net> <CANCZdfow92K_a-60VyzhkkCMg7MjXfJz1zwSisGTT1qdTCD31g@mail.gmail.com>
next in thread | previous in thread | raw e-mail | index | archive | help
--oJ71EGRlYNjSvfq7 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On Thu, Jun 25, 2020 at 11:47:24AM -0600, Warner Losh wrote: > On Thu, Jun 25, 2020 at 11:13 AM Brooks Davis <brooks@freebsd.org> wrote: >=20 > > 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`. > > > > > > > > > > This is a good callout, Brooks. > > > > > > 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 te= ams > > to > > > for the last 6yrs and have had decent success: > > > > > > 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} > > > > > > Where `gh-` would be whatever bug-tracking system of choice that you > > fancy, > > > 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 encoura= ge > > > `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. > > >=20 > 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. >=20 > I also am a big believer in git rebase -i and git commit --amend to curate > the commits I'm going to push in. The more you can show people how to > double check the commit, fix what's broken, etc, the better off we'll be. > And the better off people will be since they will have more tools to > un-screwup something they did by mistake. Unlike svn, rewriting history > (especially local history) is a big feature. >=20 > I use git commit -a all the time, though, since I hate git add. But only > when I'm sure that's the right thing and I have enough checks and balances > in place with the curation process I can do that). I agree, we should > recommend against it. Since I also know how to un-footshoot w/o it being a > traumatic web search and anxiety ridden typing of git commands blind, > hoping for the best.... There's a time and place for many foot cannons, but there's no need to even mention them in our documentation unless it's completely essential. People can explore the infinite vastness of git options on their own. -- Brooks --oJ71EGRlYNjSvfq7 Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iQEcBAEBAgAGBQJe9OecAAoJEKzQXbSebgfAJcgIAKHlTycVagqTuIZqxM4BRDJ4 P/dxolyHCcCN1G6Ekx8OqsrZ0/3E8yghI4qcPQ/2fPVnbYto0vnqDzyfGAkdPBLl nw3Wqn2dnRnApox2c/wY+0oDs9ncLy5dVjrWiq+3avHp31mZPpBCFiaQ8oLIBe+s vODo2YJ48olc0GlTYYgQuWXblnri+IPnNoFDb32gOnn0X3aqIKVX80BfeM1VKZ+t SemqMaNHYYaoxx8nix9c/+g7Oj/mG/12mFpOR/RC1Pu2W0iTWpzGyMZuwB50S3Oj 9X8ELC1xKhFJxCWe8S3vaBObqSsBOwIxGVssV7s8Uba6MVQzHlMrYoFy4QDklQA= =8ngy -----END PGP SIGNATURE----- --oJ71EGRlYNjSvfq7--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20200625180621.GC75705>