Re: run pgindent on a regular basis / scripted manner
Magnus Hagander <magnus@hagander.net>
On Fri, Aug 14, 2020 at 10:26 PM Alvaro Herrera <alvherre@2ndquadrant.com> wrote: > On 2020-Aug-13, Magnus Hagander wrote: > > > That is: > > 1. Whenever a patch is pushed on master on the main repo a process kicked > > off (or maybe wait 5 minutes to coalesce multiple patches if there are) > > 2. This process checks out master, and runs pgindent on it > > 3. When done, this gets committed to a new branch (or just overwrites an > > existing branch of course, we don't need to maintain history here) like > > "master-indented". This branch can be in a different repo, but one that > > starts out as a clone of the main one > > 4. A committer (any committer) can then on regular basis examine the > > differences by fetch + diff. If they're happy with it, cherry pick it in. > > If not, figure out what needs to be done to adjust it. > > Sounds good -- for branch master. > So mostly for testing, I've set up a job that does this. Basically it runs every 15 minutes and if there is a new commit on master it will rebase onto the latest master and run pgindent on it. This then gets pushed up to a separate repo (postgresql-pgindent.git on git.postgresql.org), and can be viewed there. To see the current state of pgindent, view: https://git.postgresql.org/gitweb/?p=postgresql-pgindent.git;a=commitdiff;h=master-pgindent (or decorate as wanted to see for example a raw patch format) If a committer wants to use it directly, just "git remote add" the postgresql-pgindent.git and then cherry-pick the branch tip into your own repository, and push. Well, actually that will right now fail because the commit is made by "Automatic pgindent" which is not an approved committer, but if we want to do this as a more regular thing, we can certainly fix that. Note that the only thing the job does is run pgindent. It does not attempt to do anything with the typedef list at this point. -- Magnus Hagander Me: https://www.hagander.net/ <http://www.hagander.net/> Work: https://www.redpill-linpro.com/ <http://www.redpill-linpro.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