public inbox for [email protected]
help / color / mirror / Atom feedFrom: Andrew Dunstan <[email protected]>
To: [email protected]
Subject: Re: run pgindent on a regular basis / scripted manner
Date: Sat, 21 Jan 2023 10:00:31 -0500
Message-ID: <[email protected]> (raw)
In-Reply-To: <[email protected]>
References: <CABUevExkB=+FX5Ht2sU6Tmk1fF0h8LqugW5camQ-r00ftPZoSg@mail.gmail.com>
<[email protected]>
<CABUevEwGPPaUtObrDywO+vhpFDTJXO+-aeWJd7D46uXTE2sQpA@mail.gmail.com>
<CAGECzQQs+hz4uQSmD_8oRLr74GtxpE0iXuYE85+RHAzvkF_yvQ@mail.gmail.com>
<[email protected]>
<[email protected]>
<[email protected]>
<[email protected]>
On 2023-01-21 Sa 08:26, Andrew Dunstan wrote:
> On 2023-01-20 Fr 13:19, Tom Lane wrote:
>> Andres Freund <[email protected]> writes:
>>> On 2023-01-20 12:09:05 -0500, Tom Lane wrote:
>>>> The core problem here is that requiring that would translate to
>>>> requiring every code contributor to have a working copy of pg_bsd_indent.
>>> Wouldn't just every committer suffice?
>> Not if we have cfbot complaining about it.
>>
>> (Another problem here is that there's a sizable subset of committers
>> who clearly just don't care, and I'm not sure we can convince them to.)
>
> I think we could do better with some automation tooling for committers
> here. One low-risk and simple change would be to provide a
> non-destructive mode for pgindent that would show you the changes if any
> it would make. That could be worked into a git pre-commit hook that
> committers could deploy. I can testify to the usefulness of such hooks -
> I have one that while not perfect has saved me on at least two occasions
> from forgetting to bump the catalog version.
>
> I'll take a look at fleshing this out, for my own if no-one else's use.
>
>
Here's a quick patch for this. I have it in mind to use like this in a
pre-commit hook:
# only do this on master
test `git rev-parse --abbrev-ref HEAD` = "master" || exit 0
src/tools/pgindent/pg_indent --silent `git diff --cached --name-only` || \
{ echo "Need a pgindent run" >&2 ; exit 1; }
The committer could then run
src/tools/pgindent/pg_indent --show-diff `git diff --cached --name-only`
to see what changes it thinks are needed.
cheers
andrew
--
Andrew Dunstan
EDB: https://www.enterprisedb.com
view thread (7+ messages) latest in thread
reply
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Reply to all the recipients using the --to and --cc options:
reply via email
To: [email protected]
Cc: [email protected], [email protected]
Subject: Re: run pgindent on a regular basis / scripted manner
In-Reply-To: <[email protected]>
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
This inbox is served by agora; see mirroring instructions
for how to clone and mirror all data and code used for this inbox