I gave it a try in https://github.com/apache/couchdb/pull/3837
There are two separate commits - tooling and actual formatting. The Erlang version check didn't seem too bad to implement. Hopefully soon we'll jump to 21+ and can clean that code up. >From the main branch I ported all the formatting exceptions and applied them to 3.x, one was in couch_debug and one in chttpd module. Thanks, -Nick On Thu, Nov 18, 2021 at 11:50 AM Nick Vatamaniuc <[email protected]> wrote: > > Hi Jay, > > I don't really agree with many of the choices erlfmt makes either. I > personally like emilio's [1] syntax rules better. But, I think there > is still a net benefit to having a standardized format that is > automatically applied and enforced. The automated part helps when > reviewing PRs / contributions and keeping it consistent in the future. > And it's odd that main was reformatted but 3.x isn't currently. > > I think with piecemeal conversion we'd lose the automatic enforcement > or we'd have to add exceptions allow/deny lists for files. > > For blame I think it might be helpful to just have one commit for the > reformatting and one commit for make/dev* scripts so it's easy to jump > before and after the one commit that only does reformatting. I'll try > to group the PR that way (2 separate commits). This way current > pending PR can also bring first rebase the on the tooling, so they can > reformat their commits, then rebase again on the reformatted code base > to hopefully get a lot less conflicts. > > [1] https://github.com/cloudant-labs/emilio > > Regards, > -Nick > > On Thu, Nov 18, 2021 at 11:25 AM Jay Doane <[email protected]> wrote: > > > > Hi Nick, > > > > As with main, my objections to a mass reformatting of hundreds of files > > boils down to: > > > > 1. Making it more difficult to understand the logical changes of the code > > (via blame) after reformatting > > 2. I don't agree with all the opinions of the formatter, nor does my > > editor/mode > > > > Is this something that could be done piecemeal for the purpose of > > backporting/diffing, or do you feel it's necessary to reformat everything > > at once? > > > > Thanks, > > Jay > > > > On Wed, Nov 17, 2021 at 11:24 PM Nick Vatamaniuc <[email protected]> wrote: > > > > > Hi all, > > > > > > I had noticed we had agreed to use erlfmt but only ran it on main and > > > not 3.x. That makes it harder to port changes or diff-ing modules > > > sometimes. Would there be any objections to a pull request > > > reformatting 3.x? > > > > > > The only issue is that we may have to avoid running erlfmt if we > > > detect Erlang 20, but that's just a few if / else checks. The CI > > > checks on 21+ would still check and fail if erlfmt check fails. > > > > > > Thanks, > > > -Nick > > >
