Re: run pgindent on a regular basis / scripted manner
Andrew Dunstan <andrew@dunslane.net>
Attachments
- pgindent-exclude-fix.patch (text/x-patch) patch
On 2023-01-24 Tu 11:43, Tom Lane wrote: > 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.) > > I'm glad it's helpful. Here's another improvement I think will be useful when the new gadgets are used in a git hook: first, look for the excludes file under the current directory if we aren't setting $code_base (e.g if we have files given on the command line), and second apply the exclude patterns to the command line files as well as to files found using File::Find. I propose to apply this fairly soon. cheers andrew -- Andrew Dunstan EDB: https://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