pg.ddx.io  pgsql-hackers@postgresql.org mailing list archive  
help / color / mirror / Atom feed
From: Tom Lane <tgl@sss.pgh.pa.us>
To: Jelte Fennema <postgres@jeltef.nl>
Cc: Bruce Momjian <bruce@momjian.us>
Cc: Andres Freund <andres@anarazel.de>
Cc: Peter Geoghegan <pg@bowt.ie>
Cc: Magnus Hagander <magnus@hagander.net>
Cc: Alvaro Herrera <alvherre@2ndquadrant.com>
Cc: Stephen Frost <sfrost@snowman.net>
Cc: Noah Misch <noah@leadboat.com>
Cc: Jesse Zhang <sbjesse@gmail.com>
Cc: PostgreSQL-development <pgsql-hackers@postgresql.org>
Subject: Re: run pgindent on a regular basis / scripted manner
Date: Tue, 24 Jan 2023 11:43:25 -0500
Message-ID: <2251487.1674578605@sss.pgh.pa.us> (raw)
In-Reply-To: <CAGECzQRXMa-HcApdsPL+bLbZahvWCdspM8GZ_ObFt0_LFdbDGw@mail.gmail.com>
References: <20230122094957.x542ojaqgi4lalq4@awork3.anarazel.de>
	<CAGECzQRYjHdNQ-Bq2yrBb-8s3Pjx7pfvYPDdNv9tcvDcscDhbg@mail.gmail.com>
	<20230122223806.3sgew6qswhsczae7@awork3.anarazel.de>
	<1495023.1674430107@sss.pgh.pa.us>
	<20230123001518.6hxyiczhn4kadvmf@awork3.anarazel.de>
	<1502504.1674433722@sss.pgh.pa.us>
	<20230123011002.fzcaa3krql3mqsfn@awork3.anarazel.de>
	<1509591.1674437376@sss.pgh.pa.us>
	<1608158.1674486546@sss.pgh.pa.us>
	<20230123173136.knn77pbuakhvjfgk@awork3.anarazel.de>
	<Y874Fh0q4mkk1s22@momjian.us>
	<CAGECzQTqoGHrePM_pwmhaM+J1XOygYjzFod4sf=PAt7J4A19Mw@mail.gmail.com>
	<2238493.1674572097@sss.pgh.pa.us>
	<CAGECzQRXMa-HcApdsPL+bLbZahvWCdspM8GZ_ObFt0_LFdbDGw@mail.gmail.com>

Jelte Fennema <postgres@jeltef.nl> writes:
> Sounds like this conflict could be handled fairly easily by
> having a local git hook rerunning pgindent whenever
> you rebase a commit:
> 1. if you changed typedefs.list the hook would format all files
> 2. if you didn't it only formats the files that you changed

I think that would be undesirable, because then reindentation noise
in completely-unrelated files would get baked into feature commits,
complicating review and messing up "git blame" history.
The approach we currently have allows reindent effects to be
separated into ignorable labeled commits, which is a nice property.

> Merge failures are one issue. But personally the main benefit that
> I would be getting is being able to run pgindent on the files
> I'm editing and get this weird +12 columns formatting correct
> without having to manually type it. Without pgindent also
> changing random parts of the files that someone else touched
> a few commits before me.

Yeah, that always annoys me too, but I've always considered that
it's my problem not something I can externalize onto other people.
The real bottom line here is that AFAICT, there are fewer committers
who care about indent cleanliness than committers who do not, so
I do not think that the former group get to impose strict rules
on the latter, much as I might wish otherwise.

FWIW, Andrew's recent --show-diff feature for pgindent has
already improved my workflow for that.  I can do
"pgindent --show-diff >fixindent.patch", manually remove any hunks
in fixindent.patch that don't pertain to the code I'm working on,
and apply what remains to fix up my new code.  (I had been doing
something basically like this, but with more file-copying steps
to undo pgindent's edit-in-place behavior.)

			regards, tom lane





view thread (308+ messages)  latest in thread

Message-ID: <2251487.1674578605@sss.pgh.pa.us>
Permalink:  ../2251487.1674578605@sss.pgh.pa.us/
Also on:    postgresql.org/message-id/2251487.1674578605@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, postgres@jeltef.nl, bruce@momjian.us, andres@anarazel.de, pg@bowt.ie, magnus@hagander.net, alvherre@2ndquadrant.com, sfrost@snowman.net, noah@leadboat.com, sbjesse@gmail.com
  Subject: Re: run pgindent on a regular basis / scripted manner
  In-Reply-To: <2251487.1674578605@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