Re: run pgindent on a regular basis / scripted manner

From: Magnus Hagander <magnus(at)hagander(dot)net>
To: Alvaro Herrera <alvherre(at)2ndquadrant(dot)com>
Cc: Stephen Frost <sfrost(at)snowman(dot)net>, Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>, Noah Misch <noah(at)leadboat(dot)com>, Jesse Zhang <sbjesse(at)gmail(dot)com>, Andres Freund <andres(at)anarazel(dot)de>, PostgreSQL-development <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: run pgindent on a regular basis / scripted manner
Date: 2020-08-21 16:50:40
Message-ID: CABUevEwGPPaUtObrDywO+vhpFDTJXO+-aeWJd7D46uXTE2sQpA@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Fri, Aug 14, 2020 at 10:26 PM Alvaro Herrera <alvherre(at)2ndquadrant(dot)com>
wrote:

> On 2020-Aug-13, Magnus Hagander wrote:
>
> > That is:
> > 1. Whenever a patch is pushed on master on the main repo a process kicked
> > off (or maybe wait 5 minutes to coalesce multiple patches if there are)
> > 2. This process checks out master, and runs pgindent on it
> > 3. When done, this gets committed to a new branch (or just overwrites an
> > existing branch of course, we don't need to maintain history here) like
> > "master-indented". This branch can be in a different repo, but one that
> > starts out as a clone of the main one
> > 4. A committer (any committer) can then on regular basis examine the
> > differences by fetch + diff. If they're happy with it, cherry pick it in.
> > If not, figure out what needs to be done to adjust it.
>
> Sounds good -- for branch master.
>

So mostly for testing, I've set up a job that does this.

Basically it runs every 15 minutes and if there is a new commit on master
it will rebase onto the latest master and run pgindent on it. This then
gets pushed up to a separate repo (postgresql-pgindent.git on
git.postgresql.org), and can be viewed there.

To see the current state of pgindent, view:
https://git.postgresql.org/gitweb/?p=postgresql-pgindent.git;a=commitdiff;h=master-pgindent

(or decorate as wanted to see for example a raw patch format)

If a committer wants to use it directly, just "git remote add" the
postgresql-pgindent.git and then cherry-pick the branch tip into your own
repository, and push. Well, actually that will right now fail because the
commit is made by "Automatic pgindent" which is not an approved committer,
but if we want to do this as a more regular thing, we can certainly fix
that.

Note that the only thing the job does is run pgindent. It does not attempt
to do anything with the typedef list at this point.

--
Magnus Hagander
Me: https://www.hagander.net/ <http://www.hagander.net/>
Work: https://www.redpill-linpro.com/ <http://www.redpill-linpro.com/>

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Fujii Masao 2020-08-21 16:54:20 Re: [PG13] Planning (time + buffers) data structure in explain plan (format text)
Previous Message Ibrar Ahmed 2020-08-21 16:43:46 Re: COPY FREEZE and setting PD_ALL_VISIBLE/visibility map bits