Re: several messages
- From
Eric Sunshine <sunshine@sunshineco.com>
- Date
- Sep 2, 2022, 18:16 UTC
- Message-ID
- <CAPig+cRCME=SYyV2bDNoAJjdnHUAWUqSP00aO_v-KWdNvasKpA@mail.gmail.com>
- In-Reply-To
- <9on60586-rr40-onn0-907s-53816r61qn07@tzk.qr>
On Fri, Sep 2, 2022 at 8:42 AM Johannes Schindelin <Johannes.Schindelin@gmx.de> wrote:
Show 15 quoted lines
> On Thu, 1 Sep 2022, Eric Sunshine via GitGitGadget wrote: > > t/chainlint.pl | 730 ++++++++++++++++++ > > t/chainlint.sed | 399 ---------- > > t/chainlint/blank-line-before-esac.expect | 18 + > > t/chainlint/blank-line-before-esac.test | 19 + > > ... > > This looks like it was a lot of work. And that it would be a lot of work > to review, too, and certainly even more work to maintain. > > Are we really sure that we want to burden the Git project with this much > stuff that is not actually related to Git's core functionality? > > It would be one thing if we could use a well-maintained third-party tool > to do this job. But adding this to our plate? I hope we can avoid that.
I understand your concerns about review and maintenance burden, and you're not the first to make such observations; when chainlint.sed was submitted, it was greeted with similar concerns[1,2], all very understandable. The key takeaway[3] from that conversation, though, was that, unlike user-facing features which must be reviewed in detail and maintained in perpetuity, this is a mere developer aid which can be easily ejected from the project if it ever becomes a maintenance burden or shows itself to be unreliable. Potential maintenance burden aside, a very real benefit of such a tool is that it should help prevent bugs from slipping into the project going forward[4], which is indeed the aim of all our developer-focused aids.
In more practical terms, despite initial concerns, in the 4+ years since its introduction, the maintenance cost of chainlint.sed has been nearly zero. Very early on, there was a report[5] that chainlint.sed was showing a false-positive in a `contrib` test script; the developer quickly responded with a fix[6]. The only other maintenance issues were a couple dead-simple changes[7,8] to shorten "labels" to support older versions of `sed`. (As for the chainlint self-tests, the maintenance cost has been exactly zero). My hope is that chainlint.pl should have a similar track-record, but it can easily be dropped from the project if not.
[1]: https://lore.kernel.org/git/xmqqk1q11mkj.fsf@gitster-ct.c.googlers.com/ [2]: https://lore.kernel.org/git/20180712165608.GA10515@sigill.intra.peff.net/ [3]: https://lore.kernel.org/git/CAPig+cRmAkiYqFXwRAkQALDoOo-79r2iAumdEJEZhBnETvL-fw@mail.gmail.com/ [4]: https://lore.kernel.org/git/xmqqin5kw7q3.fsf@gitster-ct.c.googlers.com/ [5]: https://lore.kernel.org/git/20180730181356.GA156463@aiede.svl.corp.google.com/ [6]: https://lore.kernel.org/git/20180807082135.60913-1-sunshine@sunshineco.com/ [7]: https://lore.kernel.org/git/20180824152016.20286-5-avarab@gmail.com/ [8]: https://lore.kernel.org/git/d15ed626de65c51ef2ba31020eeb2111fb8e091f.1596675905.git.gitgitgadget@gmail.com/