Re: run pgindent on a regular basis / scripted manner

From: Noah Misch <noah(at)leadboat(dot)com>
To: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
Cc: 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-13 04:26:55
Message-ID: 20200813042655.GB1133236@rfd.leadboat.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Thu, Aug 13, 2020 at 12:08:36AM -0400, Tom Lane wrote:
> Noah Misch <noah(at)leadboat(dot)com> writes:
> > On Wed, Aug 12, 2020 at 07:47:01PM -0400, Tom Lane wrote:
> >> If the workflow is commit first and re-indent later, then we can always
> >> revert the pgindent commit and clean things up manually; but an auto
> >> re-indent during commit wouldn't provide that history.
>
> > There are competing implementations of assuring pgindent-cleanliness at every
> > check-in:
>
> > 1. After each push, an automated followup commit appears, restoring
> > pgindent-cleanliness.
> > 2. "git push" results in a commit that melds pgindent changes into what the
> > committer tried to push.
> > 3. "git push" fails, for the master branch, if the pushed commit disrupts
> > pgindent-cleanliness.
>
> > Were you thinking of (2)?
>
> I was objecting to (2). (1) would perhaps work. (3) could be pretty
> darn annoying,

Right. I think of three use cases here:

a) I'm a committer who wants to push clean code. I want (3).
b) I'm a committer who wants to ignore pgindent. I get some email complaints
under (1), which I ignore. Under (3), I'm forced to become (a).
c) I'm reading the history. I want (3).

> I hadn't thought about the angle of HEAD versus back-branch patches,
> but that does seem like something to ponder. The back branches don't
> have the same pgindent rules necessarily, plus the patch versions
> might be different in more than just whitespace. My own habit when
> back-patching has been to indent the HEAD patch per-current-rules and
> then preserve that layout as much as possible in the back branches,
> but I doubt we could get a tool to do that with any reliability.

Similar habit here. Another advantage of master-only is a guarantee against
disrupting time-critical patches. (It would be ugly to push back branches and
sort out the master push later, but it doesn't obstruct the mission.)

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Mikhail Titov 2020-08-13 04:30:50 [bug+patch] Inserting DEFAULT into generated columns from VALUES RTE
Previous Message Amit Langote 2020-08-13 04:13:18 Re: posgres 12 bug (partitioned table)