Re: run pgindent on a regular basis / scripted manner - Mailing list pgsql-hackers
From | Magnus Hagander |
---|---|
Subject | Re: run pgindent on a regular basis / scripted manner |
Date | |
Msg-id | CABUevEwP08KJBag0YKF53d5ArPJGTN+wNA1Z-qwzfzn_qbz0XA@mail.gmail.com Whole thread Raw |
In response to | Re: run pgindent on a regular basis / scripted manner (Andrew Dunstan <andrew@dunslane.net>) |
List | pgsql-hackers |
On Sat, Apr 22, 2023 at 4:12 PM Andrew Dunstan <andrew@dunslane.net> wrote: > > > On 2023-04-22 Sa 08:47, Magnus Hagander wrote: > > On Sat, Apr 22, 2023 at 1:42 PM Andrew Dunstan <andrew@dunslane.net> wrote: > > On 2023-04-22 Sa 04:50, Michael Paquier wrote: > > On Fri, Apr 21, 2023 at 09:58:17AM +0200, Jelte Fennema wrote: > > For 2 the upstream thread listed two approaches: > a. Install a pre-receive git hook on the git server that rejects > pushes to master that are not indented > b. Add a test suite that checks if the code is correctly indented, so > the build farm would complain about it. (Suggested by Peter E) > > I think both a and b would work to achieve 2. But as Peter E said, b > indeed sounds like less of a divergence of the status quo. So my vote > would be for b. > > FWIW, I think that there is value for both of them. Anyway, isn't 'a' > exactly the same as 'b' in design? Both require a build of > pg_bsd_indent, meaning that 'a' would also need to run an equivalent > of the regression test suite, but it would be actually costly > especially if pg_bsd_indent itself is patched. I think that getting > more noisy on this matter with 'b' would be enough, but as an extra > PG_TEST_EXTRA for committers to set. > > Such a test suite would need a dependency to the 'git' command itself, > which is not something that could be safely run in a release tarball, > in any case. > > > Perhaps we should start with a buildfarm module, which would run pg_indent --show-diff. That would only need to run onone animal, so a failure wouldn't send the whole buildfarm red. This would be pretty easy to do. > > Just to be clear, you guys are aware we already have a git repo > that's supposed to track "head + pg_indent" at > https://git.postgresql.org/gitweb/?p=postgresql-pgindent.git;a=shortlog;h=refs/heads/master-pgindent > right? > > I see it is currently not working and this has not been noticed by > anyone, so I guess it kind of indicates nobody is using it today. The > reason appears to be that it uses pg_bsd_indent that's in our apt > repos and that's 2.1.1 and not 2.1.2 at this point. But if this is a > service that would actually be useful, this could certainly be ficked > pretty easy. > > But bottom line is that if pgindent is as predictable as it should be, > it might be easier to use that one central place that already does it > rather than have to build a buildfarm module? > > > Now that pg_bsd_indent is in the core code why not just use that? yeah, it just required building. And the lazy approach was to use the DEB :) For a quick fix I've built the current HEAD and have it just using that one -- right now it'll fail again when a change is made to it, but I'll get that cleaned up. It's back up and running, and results are at https://git.postgresql.org/gitweb/?p=postgresql-pgindent.git;a=shortlog;h=refs/heads/master-pgindent -- Magnus Hagander Me: https://www.hagander.net/ Work: https://www.redpill-linpro.com/
pgsql-hackers by date: