Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1pQUMn-000815-JF for pgsql-hackers@arkaria.postgresql.org; Fri, 10 Feb 2023 14:27:09 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.92) (envelope-from ) id 1pQUMm-0007Bg-EG for pgsql-hackers@arkaria.postgresql.org; Fri, 10 Feb 2023 14:27:08 +0000 Received: from makus.postgresql.org ([2001:4800:3e1:1::229]) by malur.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1pQUMm-0007BX-0r for pgsql-hackers@lists.postgresql.org; Fri, 10 Feb 2023 14:27:08 +0000 Received: from relay11.mail.gandi.net ([217.70.178.231]) by makus.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1pQUMg-0007P1-Tw for pgsql-hackers@postgresql.org; Fri, 10 Feb 2023 14:27:06 +0000 Received: (Authenticated sender: adsend@dunslane.net) by mail.gandi.net (Postfix) with ESMTPSA id 21DA5100008; Fri, 10 Feb 2023 14:26:53 +0000 (UTC) Content-Type: multipart/mixed; boundary="------------7hzRTR0MwxMzyXV2Gc0drDOs" Message-ID: Date: Fri, 10 Feb 2023 09:26:50 -0500 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.5.0 Subject: Re: run pgindent on a regular basis / scripted manner Content-Language: en-US To: Jelte Fennema , Robert Haas Cc: Tom Lane , Justin Pryzby , Andres Freund , Noah Misch , Peter Geoghegan , Bruce Momjian , Magnus Hagander , Alvaro Herrera , Stephen Frost , Jesse Zhang , pgsql-hackers@postgresql.org References: <20230122094957.x542ojaqgi4lalq4@awork3.anarazel.de> <20230122223806.3sgew6qswhsczae7@awork3.anarazel.de> <1489276.1674427657@sss.pgh.pa.us> <1708030.1675446770@sss.pgh.pa.us> <20230204041848.GC1896331@rfd.leadboat.com> <20230204113453.vmtnayjvhyg5qqqy@alap3.anarazel.de> <1923921.1675526879@sss.pgh.pa.us> <20230204171101.GF1653@telsasoft.com> <2009472.1675532231@sss.pgh.pa.us> From: Andrew Dunstan In-Reply-To: List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk This is a multi-part message in MIME format. --------------7hzRTR0MwxMzyXV2Gc0drDOs Content-Type: multipart/alternative; boundary="------------yw0t5n6Vwp2L5tYYSyl9jNyK" --------------yw0t5n6Vwp2L5tYYSyl9jNyK Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit On 2023-02-07 Tu 11:32, Jelte Fennema wrote: > On Tue, 7 Feb 2023 at 17:11, Robert Haas wrote: >> I don't know if that works or not, but it does seem plausible, at >> least. My idea would have been to use the --name-status option, which >> works for both git diff and git show. You just look and see which >> lines in the output start with M or A and then take the file names >> from those lines. > If you add `--diff-filter=ACMR`, then git diff/show will only show > Added, Copied, Modified, and Renamed files. > > The pre-commit hook that Andrew added to the wiki uses that in > combination with --name-only to get the list of files that you want to > check on commit: > https://wiki.postgresql.org/wiki/Working_with_Git#Using_git_hooks OK, here's a patch based on Robert's and Jelte's ideas. cheers andrew -- Andrew Dunstan EDB:https://www.enterprisedb.com --------------yw0t5n6Vwp2L5tYYSyl9jNyK Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: 7bit


On 2023-02-07 Tu 11:32, Jelte Fennema wrote:
On Tue, 7 Feb 2023 at 17:11, Robert Haas <robertmhaas@gmail.com> wrote:
I don't know if that works or not, but it does seem plausible, at
least. My idea would have been to use the --name-status option, which
works for both git diff and git show. You just look and see which
lines in the output start with M or A and then take the file names
from those lines.
If you add `--diff-filter=ACMR`, then git diff/show will only show
Added, Copied, Modified, and Renamed files.

The pre-commit hook that Andrew added to the wiki uses that in
combination with --name-only to get the list of files that you want to
check on commit:
https://wiki.postgresql.org/wiki/Working_with_Git#Using_git_hooks


OK, here's a patch based on Robert's and Jelte's ideas.


cheers


andrew

--
Andrew Dunstan
EDB: https://www.enterprisedb.com
--------------yw0t5n6Vwp2L5tYYSyl9jNyK-- --------------7hzRTR0MwxMzyXV2Gc0drDOs Content-Type: text/x-patch; charset=UTF-8; name="pgindent-dirty-cached.patch" Content-Disposition: attachment; filename="pgindent-dirty-cached.patch" Content-Transfer-Encoding: base64 ZGlmZiAtLWdpdCBhL3NyYy90b29scy9wZ2luZGVudC9wZ2luZGVudCBiL3NyYy90b29scy9w Z2luZGVudC9wZ2luZGVudAppbmRleCAwNzk3MGY3NThjLi5jOWY0MjMwMmM5IDEwMDc1NQot LS0gYS9zcmMvdG9vbHMvcGdpbmRlbnQvcGdpbmRlbnQKKysrIGIvc3JjL3Rvb2xzL3BnaW5k ZW50L3BnaW5kZW50CkBAIC0yNCwxMyArMjQsMTUgQEAgbXkgJGRldm51bGwgPSBGaWxlOjpT cGVjLT5kZXZudWxsOwogbXkgKCR0eXBlZGVmc19maWxlLCAkdHlwZWRlZl9zdHIsICRjb2Rl X2Jhc2UsCiAJQGV4Y2x1ZGVzLCAgICAgICRpbmRlbnQsICAgICAgJGJ1aWxkLAogCSRzaG93 X2RpZmYsICAgICAkc2lsZW50X2RpZmYsICRoZWxwLAotCUBjb21taXRzLCk7CisJQGNvbW1p dHMsICRkaXJ0eSwgJGNhY2hlZCk7CiAKICRoZWxwID0gMDsKIAogbXkgJW9wdGlvbnMgPSAo CiAJImhlbHAiICAgICAgICAgICAgICAgPT4gXCRoZWxwLAogCSJjb21taXQ9cyIgICAgICAg ICAgID0+IFxAY29tbWl0cywKKwkiZGlydHkiICAgICAgICAgICAgICA9PiBcJGRpcnR5LAor CSJjYWNoZWQiICAgICAgICAgICAgID0+IFwkY2FjaGVkLAogCSJ0eXBlZGVmcz1zIiAgICAg ICAgID0+IFwkdHlwZWRlZnNfZmlsZSwKIAkibGlzdC1vZi10eXBlZGVmcz1zIiA9PiBcJHR5 cGVkZWZfc3RyLAogCSJjb2RlLWJhc2U9cyIgICAgICAgID0+IFwkY29kZV9iYXNlLApAQCAt NDYsOCArNDgsMTEgQEAgdXNhZ2UoKSBpZiAkaGVscDsKIHVzYWdlKCJDYW5ub3QgaGF2ZSBi b3RoIC0tc2lsZW50LWRpZmYgYW5kIC0tc2hvdy1kaWZmIikKICAgaWYgJHNpbGVudF9kaWZm ICYmICRzaG93X2RpZmY7CiAKLXVzYWdlKCJDYW5ub3QgdXNlIC0tY29tbWl0IHdpdGggLS1j b2RlLWJhc2Ugb3IgY29tbWFuZCBsaW5lIGZpbGUgbGlzdCIpCi0gIGlmIChAY29tbWl0cyAm JiAoJGNvZGVfYmFzZSB8fCBAQVJHVikpOwordXNhZ2UoIkNhbm5vdCB1c2UgLS1jb21taXQs IC0tZGlydHkgb3IgLS1jYWNoZWQgd2l0aCAtLWNvZGUtYmFzZSBvciBjb21tYW5kIGxpbmUg ZmlsZSBsaXN0IikKKyAgaWYgKCgkZGlydHkgfHwgJGNhY2hlZCB8fCBAY29tbWl0cykgJiYg KCRjb2RlX2Jhc2UgfHwgQEFSR1YpKTsKKwordXNhZ2UoICJDYW5ub3QgdXNlIC0tZGlydHkg b3IgLS1jYWNoZWQgd2l0aCAtLWNvbW1pdCIpCisgIGlmICgoJGRpcnR5IHx8ICRjYWNoZWQp ICYmIEBjb21taXRzKTsKIAogcnVuX2J1aWxkKCRjb2RlX2Jhc2UpIGlmICgkYnVpbGQpOwog CkBAIC0zOTUsNiArNDAwLDggQEAgcGdpbmRlbnQgW09QVElPTl0uLi4gW0ZJTEVdLi4uCiBP cHRpb25zOgogCS0taGVscCAgICAgICAgICAgICAgICAgIHNob3cgdGhpcyBtZXNzYWdlIGFu ZCBxdWl0CiAJLS1jb21taXQ9Z2l0cmVmICAgICAgICAgdXNlIGZpbGVzIG1vZGlmaWVkIGJ5 IHRoZSBuYW1lZCBjb21taXQKKwktLWRpcnR5ICAgICAgICAgICAgICAgICB1c2UgbW9kaWZp ZWQgZmlsZXMgdW5kZXIgY3VycmVudCBkaXJlY3RvcnkKKwktLWNhY2hlZCAgICAgICAgICAg ICAgICB1c2Ugc3RhZ2VkIGZpbGVzIHVuZGVyIGN1cnJlbnQgZGlyZWN0b3J5CiAJLS10eXBl ZGVmcz1GSUxFICAgICAgICAgZmlsZSBjb250YWluaW5nIGEgbGlzdCBvZiB0eXBlZGVmcwog CS0tbGlzdC1vZi10eXBlZGVmcz1TVFIgIHN0cmluZyBjb250YWluaW5nIHR5cGVkZWZzLCBz cGFjZSBzZXBhcmF0ZWQKIAktLWNvZGUtYmFzZT1ESVIgICAgICAgICBwYXRoIHRvIHRoZSBi YXNlIG9mIFBvc3RncmVTUUwgc291cmNlIGNvZGUKQEAgLTQ1MCw2ICs0NTcsMTkgQEAgZm9y ZWFjaCBteSAkY29tbWl0IChAY29tbWl0cykKIAlwdXNoKEBmaWxlcyxAYWZmZWN0ZWQpOwog fQogCisjIGxvb2sgZm9yIGRpcnR5IC8gY2FjaGVkIGZpbGVzIHVuZGVyIHRoZSBDV0QKK2lm ICgkZGlydHkgfHwgJGNhY2hlZCkKK3sKKwlteSAkZ2l0Y21kID0gImdpdCBkaWZmIC0tZGlm Zi1maWx0ZXI9QUNNUiAtLW5hbWUtb25seSI7CisJJGdpdGNtZCAuPSAiIC0tY2FjaGVkIiBp ZiAoJGNhY2hlZCAmJiAhJGRpcnR5KTsKKwkkZ2l0Y21kIC49ICIgSEVBRCIgaWYgKCRkaXJ0 eSAmJiAkY2FjaGVkKTsKKwkkZ2l0Y21kIC49ICIgLS0gLiI7CisJbXkgQGFmZmVjdGVkPWAk Z2l0Y21kYDsKKwlkaWUgImdpdCBlcnJvciIgaWYgJD87CisJY2hvbXAoQGFmZmVjdGVkKTsK KwlwdXNoKEBmaWxlcyxAYWZmZWN0ZWQpOworfQorCiAjIHJlbW92ZSBleGNsdWRlZCBmaWxl cyBmcm9tIHRoZSBmaWxlIGxpc3QKIHByb2Nlc3NfZXhjbHVkZSgpOwogCg== --------------7hzRTR0MwxMzyXV2Gc0drDOs--