As a not very frequent submitter, on all the patches that I submit I keep running into this problem. I have two open patchsets for libpq[1][2] both of which currently include the same initial "run pgindent" patch in addition to the actual patch, just so I can actually run it on my own patch because a9e9a9f caused formatting to totally be off in the libpq directory. And there's lots of other changes that pgindent wants to make, which are visible on the job that Magnus has set up.
To me a master branch that pgindent never complains about sounds amazing! And I personally think rejection of unindented pushes and cfbot complaining about unindented patches would be a very good thing, because that seems to be the only solution that could achieve that. Having cfbot complain also doesn't sound like a crazy burden for submitters. Many open-source projects have CI complaining if code formatting does not pass automatic formatting tools. As long as there is good documentation on how to install and run pgindent I don't think it should be a big problem. A link to those docs could even be included in the failing CI job its error message. A pre-commit hook that submitters/committers could install would be super useful too. Since right now I sometimes forget to run pgindent, especially since there's no editor integration (that I know of) for pgindent. Side-question: What's the reason why pgindent is used instead of some more "modern" code formatter that doesn't require keeping typedefs.list up to date for good looking output? (e.g. uncrustify or clang-format) Because that would also allow for easy editor integration. [1]: https://commitfest.postgresql.org/41/3511/ [2]: https://commitfest.postgresql.org/41/3679/