Legoktm wrote: > There's no need to do it manually. Just tell people to run the phpcs > autofixer before they rebase, and the result should be identical to > what's already there. And we can have PHPCS run in the other direction > for backports ([] -> array()).
Unfortunately, it's not that simple. If you run phpcbf before you rebase, you end up with a commit which changes every instance of array() to [], even in lines the developer didn't touch. Then if any of those phpcbf changes appear close to a recent real change in master, the context won't match and you'll get a conflict. A simple one-line change in a file with many array literals and many intervening changes in master tends to end up with many conflicts on rebase. So I wrote a script to do it in a different way: <https://phabricator.wikimedia.org/diffusion/MCUT/browse/master/rebase-long-array> This script runs phpcbf on the base, and separately on the head of the work branch, and then creates a patch based on the difference between the two. So the patch contains short arrays on both sides. Then the patch is applied to master to generate the new commit. I tried this on https://gerrit.wikimedia.org/r/#/c/236508/ and it seemed to work. -- Tim Starling _______________________________________________ Wikitech-l mailing list [email protected] https://lists.wikimedia.org/mailman/listinfo/wikitech-l
