Re: run pgindent on a regular basis / scripted manner
Robert Haas <robertmhaas@gmail.com>
On Tue, Oct 17, 2023 at 10:23 AM Tom Lane <tgl@sss.pgh.pa.us> wrote: > An alternative I was thinking about after reading your earlier email > was going back to the status quo ante, but doing the manual tree-wide > reindents significantly more often than once a year. Adding one at > the conclusion of each commitfest would be a natural thing to do, > for instance. It's hard to say what frequency would lead to the > least rebasing pain, but we know once-a-year isn't ideal. Yes. I suspect once a commitfest still wouldn't be often enough. Maybe once a month or something would be. But I'm not sure. You might rebase once over the misindented commit and then have to rebase again over the indent that fixed it. There's not really anything that quite substitutes for doing it right on every commit. > The bottom line here, I think, is that there's a subset of committers > that would like perfectly mechanically-indented code at all times, > and there's another subset that just doesn't care that much. > We don't (and shouldn't IMO) have a mechanism to let one set force > their views on the other set. The current approach is clearly > insufficient for that, and I don't think trying to institute stronger > enforcement is going to make anybody happy. I mean, I think we DO have such a mechanism. Everyone agrees that the buildfarm has to stay green, and we have a buildfarm member that checks pgindent, so that means everyone has to pgindent. We could decide to kill that buildfarm member, in which case we go back to people not having to pgindent, but right now they do. And if it's going to remain the policy, it's better to enforce that policy earlier rather than later. I mean, what is the point of having a system where we let people do the wrong thing and then publicly embarrass them afterwards? How is that better than preventing them from doing the wrong thing in the first place? Even if they don't subjectively feel embarrassed, nobody likes having to log back on in the evening or the weekend and clean up after something they thought they were done with. In fact, that particular experience is one of the worst things about being a committer. It actively discourages me, at least, from trying to get other people's patches committed. This particular problem is minor, but the overall experience of trying to get things committed is that you have to check 300 things for every patch and if you get every one of them right then nothing happens and if you get one of them wrong then you get a bunch of irritated emails criticizing your laziness, sloppiness, or whatever, and you have to drop everything to go fix it immediately. What a deal! I'm sure this isn't the only reason why we have such a huge backlog of patches needing committer attention, but it sure doesn't help. And there is absolutely zero need for this to be yet another thing that you can find out you did wrong in the 1-24 hour period AFTER you type 'git push'. -- Robert Haas EDB: http://www.enterprisedb.com
Commits
GET /api/v1/messages/:b64id/commits
the thread's linked commits as JSON, with link sources.
API reference →
-
Fix comment from commit 22655aa231.
- 01529c704008 17.0 cited
-
Add a few recent commits to .git-blame-ignore-revs.
- 0df7d1da40e3 17.0 landed
-
Pre-beta2 mechanical code beautification.
- b334612b8aee 16.0 landed
-
Pre-beta mechanical code beautification.
- 0245f8db36f3 16.0 landed
-
Make agreed-on updates in perltidy options.
- df6b19fbbc20 16.0 landed
-
Remove obsolete pgindent options --code-base and --build
- b16259b3c189 16.0 landed
-
Integrate pg_bsd_indent into our build/test infrastructure.
- 156c049beed9 16.0 landed
-
Sync pg_bsd_indent's copyright notices with Postgres practice.
- b44e5fced3e5 16.0 landed
-
Import pg_bsd_indent sources.
- 4e831f4cee14 16.0 landed
-
pgindent: filter files for the --commit option
- dab07e8c6896 16.0 landed
-
pgindent: more ways to find files to indent
- 068a243b7771 16.0 landed
-
Fix pgindent --show-diff option.
- 62e1e28bf769 16.0 cited
-
Add non-destructive modes to pgindent
- b90f0b57474e 16.0 landed
-
Initial pgindent run with pg_bsd_indent version 2.0.
- e3860ffa4dd0 10.0 cited