Re: run pgindent on a regular basis / scripted manner
Jelte Fennema <postgres@jeltef.nl>
On Thu, 26 Jan 2023 at 15:40, Andrew Dunstan <andrew@dunslane.net> wrote: > I didn't really like your hook, as it forces a reindent, and many people > won't want that (for reasons given elsewhere in this thread). I'm not sure what you mean by "forces a reindent". Like I explained you can simply run "git commit" again to ignore the changes and commit anyway. As long as the files are indented on your filesystem the hook doesn't care if you actually included the indentation changes in the changes that you're currently committing. So to be completely clear you can do the following with my hook: git commit # runs pgindent and fails git commit # commits changes anyway git commit -am 'Run pgindent' # commit indentation changes separately Or what I usually do: git commit # runs pgindent and fails git add --patch # choose relevant changes to add to commit git commit # commit the changes git checkout -- . # undo irrelevant changes on filesystem Honestly PGAUTOINDENT=no seems stricter, since the only way to bypass the failure is now to run manually run pgindent or git commit with the --no-verify flag. > files=$(git diff --cached --name-only --diff-filter=ACMR) > src/tools/pgindent/pgindent $files That seems like it would fail if there's any files or directories with spaces in them. Maybe this isn't something we care about though. > # no need to filter files - pgindent ignores everything that isn't a > # .c or .h file If the first argument is a non .c or .h file, then pgindent interprets it as the typedefs file. So it's definitely important to filter non .c and .h files out. Because now if you commit a single non .c or .h file this hook messes up the indentation in all of your files. You can reproduce by running: src/tools/pgindent/pgindent README > # only do this on master > test "$branch" = "master" || return 0 I would definitely want a way to disable this check. As a normal submitter I never work directly on master.
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