On Thu, Mar 7, 2024 at 12:39 PM Richard Guo <guofengli...@gmail.com> wrote: > > While rebasing one of my patches I noticed that the header file includes > in relnode.c are not sorted in order. So I wrote a naive script to see > if any other C files have the same issue. The script is: > > #!/bin/bash > > find . -name "*.c" | while read -r file; do > headers=$(grep -o '#include "[^>]*"' "$file" | > grep -v "postgres.h" | grep -v "postgres_fe.h" | > sed 's/\.h"//g') > > sorted_headers=$(echo "$headers" | sort) > > results=$(diff <(echo "$headers") <(echo "$sorted_headers")) > > if [[ $? != 0 ]]; then > echo "Headers in '$file' are out of order" > echo $results > echo > fi > done
Cool. Isn't it a better idea to improve this script to auto-order the header files and land it under src/tools/pginclude/headerssort? It can then be reusable and be another code beautification weapon one can use before the code release. FWIW, I'm getting the syntax error when ran the above shell script: headerssort.sh: 10: Syntax error: "(" unexpected -- Bharath Rupireddy PostgreSQL Contributors Team RDS Open Source Databases Amazon Web Services: https://aws.amazon.com