Re: run pgindent on a regular basis / scripted manner

Andrew Dunstan <andrew@dunslane.net>

From: Andrew Dunstan <andrew@dunslane.net>
To: Jelte Fennema <postgres@jeltef.nl>
Cc: "shiy.fnst@fujitsu.com" <shiy.fnst@fujitsu.com>, Robert Haas <robertmhaas@gmail.com>, Tom Lane <tgl@sss.pgh.pa.us>, Justin Pryzby <pryzby@telsasoft.com>, Andres Freund <andres@anarazel.de>, Noah Misch <noah@leadboat.com>, Peter Geoghegan <pg@bowt.ie>, Bruce Momjian <bruce@momjian.us>, Magnus Hagander <magnus@hagander.net>, Alvaro Herrera <alvherre@2ndquadrant.com>, Stephen Frost <sfrost@snowman.net>, Jesse Zhang <sbjesse@gmail.com>, "pgsql-hackers@postgresql.org" <pgsql-hackers@postgresql.org>
Date: 2023-02-13T16:46:59Z
Lists: pgsql-hackers
On 2023-02-13 Mo 09:02, Jelte Fennema wrote:
> On Sun, 12 Feb 2023 at 15:16, Andrew Dunstan<andrew@dunslane.net>  wrote:
>> I'm not sure how much more I really want to do here. Given the way pgindent now processes command line arguments, maybe the best thing is for people to use that. Use of git aliases can help. Something like these for example
>>
>>
>> [alias]
>>
>>      dirty = diff --name-only --diff-filter=ACMU -- .
>>      staged = diff --name-only --cached --diff-filter=ACMU -- .
>>      dstaged = diff --name-only --diff-filter=ACMU HEAD -- .
>>
>>
>> and then you could do
>>
>>      pgindent `git dirty`
>>
>>
>> The only danger would be if there were no dirty files. Maybe we need a switch to inhibit using the current directory if there are no command line files.
>>
>>
>> Thoughts?
> I think indenting staged or dirty files is probably the most common
> operation that people want to do with pgindent. So I think that having
> dedicated flags makes sense. I agree that it's not strictly necessary
> and git aliases help a lot. But the git aliases require you to set
> them up. To me making the most common operation as easy as possible to
> do, seems worth the few extra lines to pgindent.


OK, but I'd like to hear from more people about what they want. 
Experience tells me that making assumptions about how people work is not 
a good idea. I doubt anyone's work pattern is like mine. I don't want to 
implement an option that three people are going to use.


>
> Sidenote: You mentioned untracked files in another email. I think that
> the --dirty flag should probably also include untracked files. A
> command to do so is: git ls-files --others --exclude-standard


Thanks for the info.


cheers


andrew

--
Andrew Dunstan
EDB:https://www.enterprisedb.com

Commits

Same data as JSON: GET /api/v1/messages/:b64id/commits the thread's linked commits as JSON, with link sources. API reference →
  1. Fix comment from commit 22655aa231.

  2. Add a few recent commits to .git-blame-ignore-revs.

  3. Pre-beta2 mechanical code beautification.

  4. Pre-beta mechanical code beautification.

  5. Make agreed-on updates in perltidy options.

  6. Remove obsolete pgindent options --code-base and --build

  7. Integrate pg_bsd_indent into our build/test infrastructure.

  8. Sync pg_bsd_indent's copyright notices with Postgres practice.

  9. Import pg_bsd_indent sources.

  10. pgindent: filter files for the --commit option

  11. pgindent: more ways to find files to indent

  12. Fix pgindent --show-diff option.

  13. Add non-destructive modes to pgindent

  14. Initial pgindent run with pg_bsd_indent version 2.0.