pg.ddx.io  pgsql-hackers@postgresql.org mailing list archive  
help / color / mirror / Atom feed
From: Tom Lane <tgl@sss.pgh.pa.us>
To: Andres Freund <andres@anarazel.de>
Cc: Jesse Zhang <sbjesse@gmail.com>
Cc: PostgreSQL-development <pgsql-hackers@postgresql.org>
Subject: Re: run pgindent on a regular basis / scripted manner
Date: Wed, 12 Aug 2020 19:57:29 -0400
Message-ID: <328501.1597276649@sss.pgh.pa.us> (raw)
In-Reply-To: <20200812232320.3osjntz7r7nrg7iu@alap3.anarazel.de>
References: <20200812223409.6di3y2qsnvynao7a@alap3.anarazel.de>
	<CAGf+fX71Oa2vzg0xdj+vgrjmdVrm=kRLc7H3SEGtCHkGhoWDCg@mail.gmail.com>
	<20200812232320.3osjntz7r7nrg7iu@alap3.anarazel.de>

Andres Freund <andres@anarazel.de> writes:
> Unfortunately that is, with the current tooling, not entirely trivial to
> do so completely. The way we generate the list of known typedefs
> unfortunately depends on the platform a build is run on. Therefore the
> buildfarm collects a number of the generated list of typedefs from
> different platforms, and then we use that combined list to run pgindent.

Yeah, it's hard to see how to avoid that given that the set of typedefs
provided by system headers is not fixed.  (Windows vs not Windows is the
worst case of course, but Unixen aren't all alike either.)

Another gotcha that we have to keep our eyes on is that sometimes the
process finds spurious names that we don't want to treat as typedefs
because it results in messing up too much code.  There's a reject list
in pgindent that takes care of those, but it has to be maintained
manually.  So I'm not sure how that could work in conjunction with
unsupervised reindents --- by the time you notice a problem, the git
history will already be cluttered with bogus reindentations.

Maybe the secret is to not allow automated adoption of new typedefs.list
entries, but to require somebody to add entries to that file by hand,
even if they're basing it on the buildfarm results.  (This would
encourage the habit some people have adopted of updating typedefs.list
along with commits that add typedefs.  I've never done that, but would
be willing to change if there's good motivation to.)

			regards, tom lane





view thread (308+ messages)  latest in thread

Message-ID: <328501.1597276649@sss.pgh.pa.us>
Permalink:  ../328501.1597276649@sss.pgh.pa.us/
Also on:    postgresql.org/message-id/328501.1597276649@sss.pgh.pa.us

 · 

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: pgsql-hackers@postgresql.org
  Cc: tgl@sss.pgh.pa.us, andres@anarazel.de, sbjesse@gmail.com
  Subject: Re: run pgindent on a regular basis / scripted manner
  In-Reply-To: <328501.1597276649@sss.pgh.pa.us>

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

This inbox is served by DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox