From owner-freebsd-current@freebsd.org Sat Sep 19 17:18:30 2020 Return-Path: Delivered-To: freebsd-current@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 976263E85CE for ; Sat, 19 Sep 2020 17:18:30 +0000 (UTC) (envelope-from steffen@sdaoden.eu) Received: from sdaoden.eu (sdaoden.eu [217.144.132.164]) (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 did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 4Bty8j3xLrz4DrS; Sat, 19 Sep 2020 17:18:29 +0000 (UTC) (envelope-from steffen@sdaoden.eu) Received: by sdaoden.eu (Postfix, from userid 1000) id 692D116057; Sat, 19 Sep 2020 19:18:22 +0200 (CEST) Date: Sat, 19 Sep 2020 19:18:22 +0200 From: Steffen Nurpmeso To: Bakul Shah Cc: Warner Losh , Zaphod Beeblebrox , Chris , Kristof Provost , FreeBSD Current Subject: Re: Plans for git Message-ID: <20200919171822.oOWcI%steffen@sdaoden.eu> In-Reply-To: References: <20200902045939.GA15897@eureka.lemis.com> <20200902060117.GG53210@home.opsec.eu> <20200902063136.GA47543@troutmask.apl.washington.edu> <20200902164706.GA49777@troutmask.apl.washington.edu> <5c89b4d27281f5dfffc3252a90013b0ac6c763d7.camel@freebsd.org> <5c832482-b2bc-47e4-8762-8f5a886d5f11@www.fastmail.com> <68585ca4-5ca4-40d3-b2f4-67ff3b35b6ae@www.fastmail.com> <0be2ae57d1c58e2091f4cc4484731df0@bsdforge.com> <967D73EA-880E-413D-B748-62A406C46524@FreeBSD.org> <9f89dc553e7d7b0884c2862329bdfeae@bsdforge.com> Mail-Followup-To: Bakul Shah , Warner Losh , Zaphod Beeblebrox , Chris , Kristof Provost , FreeBSD Current User-Agent: s-nail v14.9.19-127-g67fa13b6 OpenPGP: id=EE19E1C1F2F7054F8D3954D8308964B51883A0DD; url=https://ftp.sdaoden.eu/steffen.asc; preference=signencrypt BlahBlahBlah: Any stupid boy can crush a beetle. But all the professors in the world can make no bugs. X-Rspamd-Queue-Id: 4Bty8j3xLrz4DrS X-Spamd-Bar: - X-Spamd-Result: default: False [-1.78 / 15.00]; ARC_NA(0.00)[]; NEURAL_HAM_MEDIUM(-0.99)[-0.994]; FROM_HAS_DN(0.00)[]; R_SPF_ALLOW(-0.20)[+a]; NEURAL_HAM_LONG(-0.99)[-0.995]; MIME_GOOD(-0.10)[text/plain]; DMARC_NA(0.00)[sdaoden.eu]; RCPT_COUNT_FIVE(0.00)[6]; TO_MATCH_ENVRCPT_SOME(0.00)[]; TO_DN_ALL(0.00)[]; NEURAL_HAM_SHORT(-0.49)[-0.488]; MID_CONTAINS_FROM(1.00)[]; RCVD_COUNT_ZERO(0.00)[0]; FROM_EQ_ENVFROM(0.00)[]; R_DKIM_NA(0.00)[]; MIME_TRACE(0.00)[0:+]; ASN(0.00)[asn:15987, ipnet:217.144.128.0/20, country:DE]; FREEMAIL_CC(0.00)[bsdimp.com,gmail.com,bsdforge.com,freebsd.org]; MAILMAN_DEST(0.00)[freebsd-current] X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: Discussions about the use of FreeBSD-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 19 Sep 2020 17:18:30 -0000 Bakul Shah wrote in : |On Sep 18, 2020, at 11:21 PM, Warner Losh wrote: |> |> These are the main ones. The three down sides are lack of $FreeBSD$ \ |> support |> and tags in general. | |Can a git hook be used for this? I use a git pre-commit hook to fake-update SCCS IDs for my web site ( if git rev-parse --verify HEAD >/dev/null 2>&1 then against=HEAD else # Initial commit: diff against an empty tree object against=4b825dc642cb6eb9a060e54bf8d69288fbee4904 fi DATE=`date -u +%Y-%m-%dT%H:%M:%S` git diff-index --name-status --cached $against -- | grep -E '^[AM][[:space:]]+.+\.(html|js|css)' | cut -f2 | while read f; do if grep -F '@(#)' ${f} > /dev/null 2>&1; then < ${f} perl -e ' while () { unless ($_ =~ /@\(#\)/) { print; next; } chomp; $_ =~ /^((?:.*?)@\(\#\)(?:.+?) \d+\.) (\d+) ( .+\+0000)(.*)$/x; print $1, int($2) + 1, " '"${DATE}"'+0000", $4, "\n"; } ' > ${f}.new mv ${f}.new ${f} git add ${f} fi done exit 0 and do not look to seriously) but of course this is a crux that can only work well with a single developer / changeset branch tip, as soon as you join in other branches you are in trouble unless you cherry-pick everything onto a main line by policy. |> Yes. I've started doing a series of short videos explaining the change, \ |> why |> we are doing it and what to do in the new world order. I'll be doing blog |> entries as well as turning that material into handbook entries. I \ |> have some |> of those written. |> |> Does this help? | |It would be useful to describe the development model (e.g. how major/minor |features get added etc), how to maintain multiple local branches (e.g. |release branch or -current) or working on more than one feature at \ |a time etc. | |Do you plan to move to something like the github review process? | |When is the cutover supposed to occur? | |The cgit-beta.FreeBSD.org and github trees are not identical the last |time I looked (mainly in meta data). Any reason for not keeping them |identical? I switched from the github tree to the cgit-beta tree. | |FWIW, I have used sccs, rcs, cvs, subversion, mercurial, git & a few more. |I have used git exclusively for the last few years. I felt more comfortable |with git once I understood the on-disk storage model. The Pro Git book is |pretty good for that & more. That gc (--aggressive --prune=all) thing is a tremendous plus for git in my opinion. I track all BSDs and the Linux kernel via git and in bare repositories without checked out work dir, and it is as compact as can be. Whereas with Mercurial and Subversion (as i used to know them a decade(+) ago) you had all that mess lying around. --steffen | |Der Kragenbaer, The moon bear, |der holt sich munter he cheerfully and one by one |einen nach dem anderen runter wa.ks himself off |(By Robert Gernhardt)