Re: run pgindent on a regular basis / scripted manner
Tom Lane <tgl@sss.pgh.pa.us>
Noah Misch <noah@leadboat.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, especially if it blocks a time-critical security patch. > Regarding typedefs.list, I would use the in-tree one, like you discussed here: Yeah, after thinking about that more, it seems like automated typedefs.list updates would be far riskier than automated reindent based on the existing typedefs.list. The latter could at least be expected not to change code unrelated to the immediate commit. typedefs.list updates need some amount of adult supervision. (I'd still vote for nag-mail to the committer whose work got reindented, in case the bot made things a lot worse.) 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. Of course, there's also the possibility of forcibly reindenting all the active back branches to current rules. But I think we've rejected that idea already, because it would cause so much pain for forks that are following a back branch. regards, tom lane
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