-
Notifications
You must be signed in to change notification settings - Fork 2
Comparing changes
Open a pull request
base repository: postgresql-cfbot/postgresql
base: cf/6366~1
head repository: postgresql-cfbot/postgresql
compare: cf/6366
- 8 commits
- 11 files changed
- 2 contributors
Commits on Jun 9, 2026
-
pgindent: Use git ls-files to discover files
When running pgindent on the whole source tree, it would often also indent build artifacts. This changes the pgindent directory search logic to become git-aware, and only indent files that are actually tracked by git. Any files that are explicitly part of the pgindent its arguments, are always indented though, even if they are not tracked by git. This can be useful to force indentation of an untracked file and/or for editor integration.
Configuration menu - View commit details
-
Copy full SHA for 978fe6f - Browse repository at this point
Copy the full SHA 978fe6fView commit details -
pgindent: Default to indenting the current directory if no files are …
…given Previously running pgindent without giving it any files would result in this output: src/tools/pgindent/pgindent No files to process at src/tools/pgindent/pgindent line 526. This instead indents the current directory, which is probably what the user intended.
Configuration menu - View commit details
-
Copy full SHA for 7d03400 - Browse repository at this point
Copy the full SHA 7d03400View commit details -
pgindent: Allow parallel pgindent runs
Running pgindent on the whole source tree can take a while. This adds support for pgindent to indent files in parallel. This speeds up a full pgindent run from ~7 seconds to 1 second on my machine. Especially with future commits that integrate perltidy into pgindent the wins are huge, because perltidy is much slower at formatting than pg_bsd_indent. With those later commits the time it takes to do a full pgindent run (including perltidy) takes more than a minute on my machine without the parallelization, but only take ~7 seconds when run in parallel.
Configuration menu - View commit details
-
Copy full SHA for 8dca943 - Browse repository at this point
Copy the full SHA 8dca943View commit details -
pgindent: Try to find pg_bsd_indent binary in common locations
To run pgindent you need to to have the right version of pg_bsd_indent in your PATH, or specify it manually. This is a bit of a hassle, especially for newcomers or when working on backbranches. So this chnages pgindent to search for a pg_bsd_indent that's built from the current sources, both in-tree (for in-tree autoconf builds) and in a build directory (for meson or autoconf vpath builds).
Configuration menu - View commit details
-
Copy full SHA for b524e3c - Browse repository at this point
Copy the full SHA b524e3cView commit details -
Move pgindent to separate pgcheck script
Over time our pgindent script has gotten a lot of quality of life features, like the --commit, --diff, --check, and --jobs flags. Our pgperltidy, pgperlcritic and pgperlsyncheck are missing these features. In the next commit these other tools will gain these quality of life features too, by introducing a new tool called "pgcheck" that combines the functionality of all tools. This commit only does: git mv src/tools/pgindent/pgindent src/tools/pgcheck/pgcheck The resulting pgcheck script is not even functional, since some of the hardcoded relative paths in the script are now incorrect. The only reason this is separate from the next commit, is to to make git understand that we moved the pgindent file, so the git history of the pgindent file is transferred over correctly to the pgcheck file.
Configuration menu - View commit details
-
Copy full SHA for 619c378 - Browse repository at this point
Copy the full SHA 619c378View commit details -
Combine all formatting and linting tools into pgcheck
Over time our pgindent script has gotten a lot of quality of life features, like the --commit, --diff, --check, and --jobs flags. Our pgperltidy, pgperlcritic and pgperlsyncheck scripts were missing all these features. This commit introduces a new tool called "pgcheck" that combines the functionality of all these tools, so all of them can benefit from the improvements that have been made to pgindent. The old scripts are still available as simple wrappers around pgcheck.
Configuration menu - View commit details
-
Copy full SHA for 49e3034 - Browse repository at this point
Copy the full SHA 49e3034View commit details -
pgcheck: Add easy way of getting perltidy
pgcheck needs a very specific perltidy version, but getting that installed is quite a hassle. Especially for people who don't use perl on a daily basis. This commit adds a small script to download the exact perltidy version that we need and install it locally in the repo. It also teaches pgcheck to use that locally installed perltidy if it is available.
Configuration menu - View commit details
-
Copy full SHA for 56f416b - Browse repository at this point
Copy the full SHA 56f416bView commit details -
[CF 6366] v4 - QoL improvements for pgindent and combining pgindent, …
…pgperltidy, pgperlcritic and pgperlsyncheck into one tool This branch was automatically generated by a robot using patches from an email thread registered at: https://commitfest.postgresql.org/patch/6366 The branch will be overwritten each time a new patch version is posted to the thread, and also periodically to check for bitrot caused by changes on the master branch. Patch(es): https://www.postgresql.org/message-id/[email protected] Author(s): Jelte Fennema-Nio
Commitfest Bot committedJun 9, 2026 Configuration menu - View commit details
-
Copy full SHA for 4a5266e - Browse repository at this point
Copy the full SHA 4a5266eView commit details
This comparison is taking too long to generate.
Unfortunately it looks like we can’t render this comparison for you right now. It might be too big, or there might be something weird with your repository.
You can try running this command locally to see the comparison on your machine:
git diff cf/6366~1...cf/6366