Re: run pgindent on a regular basis / scripted manner

From: Andrew Dunstan <andrew(at)dunslane(dot)net>
To: Robert Haas <robertmhaas(at)gmail(dot)com>, Jelte Fennema <postgres(at)jeltef(dot)nl>
Cc: Peter Geoghegan <pg(at)bowt(dot)ie>, Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>, Andres Freund <andres(at)anarazel(dot)de>, Michael Paquier <michael(at)paquier(dot)xyz>, "shiy(dot)fnst(at)fujitsu(dot)com" <shiy(dot)fnst(at)fujitsu(dot)com>, Justin Pryzby <pryzby(at)telsasoft(dot)com>, Noah Misch <noah(at)leadboat(dot)com>, Bruce Momjian <bruce(at)momjian(dot)us>, Magnus Hagander <magnus(at)hagander(dot)net>, Alvaro Herrera <alvherre(at)2ndquadrant(dot)com>, Stephen Frost <sfrost(at)snowman(dot)net>, Jesse Zhang <sbjesse(at)gmail(dot)com>, "pgsql-hackers(at)postgresql(dot)org" <pgsql-hackers(at)postgresql(dot)org>, Peter Eisentraut <peter(dot)eisentraut(at)enterprisedb(dot)com>
Subject: Re: run pgindent on a regular basis / scripted manner
Date: 2023-10-24 13:40:01
Message-ID: c2f3b41a-9959-a768-5664-7db390b3718b@dunslane.net
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers


On 2023-10-17 Tu 09:52, Robert Haas wrote:
> On Tue, Oct 17, 2023 at 6:34 AM Jelte Fennema <postgres(at)jeltef(dot)nl> wrote:
>> I think *it is* dead easy to comply. If you run the following commands
>> before committing/after rebasing, then koel should always be happy:
>>
>> src/tools/pgindent/pgindent src # works always but a bit slow
>> src/tools/pgindent/pgindent $(git diff --name-only --diff-filter=ACMR)
>> # much faster, but only works if you DID NOT change typedefs.list
> In isolation, that's true, but the list of mistakes that you can make
> while committing which will inconvenience everyone working on the
> project is very long. Another one that comes up frequently is
> forgetting to bump CATALOG_VERSION_NO, but you also need a good commit
> message, and good comments, and a good Discussion link in the commit
> message, and the right list of authors and reviewers, and to update
> the docs (with spaces, not tabs) and the Makefiles (with tabs, not
> spaces) and the meson stuff and, as if that weren't enough already,
> you actually need the code to work! And that includes not only working
> regularly but also with CLOBBER_CACHE_ALWAYS and debug_parallel_query
> and so on. It's very easy to miss something somewhere. I put a LOT of
> work into polishing my commits before I push them, and it's still not
> that uncommon that I screw something up.

Yes, there's a lot to look out for, and you're a damn sight better at it
than I am. But we should try to automate the things that can be
automated, even if that leaves many tasks that can't be. I have three
things in my pre-commit hook: a check for catalog updates, a check for
new typedefs, and an indent check. And every one of them has saved me
from doing things I should not be doing. They aren't perfect but they
are useful.

Slightly off topic, but apropos your message, maybe we should recommend
a standard git commit template.

cheers

andrew

--
Andrew Dunstan
EDB: https://www.enterprisedb.com

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Bruce Momjian 2023-10-24 13:46:34 Re: run pgindent on a regular basis / scripted manner
Previous Message Andrew Dunstan 2023-10-24 13:11:47 Re: More new SQL/JSON item methods