Limit number of rubocop autocorrect runs

The typical use case is to create a small number of commits for a pull
request to ease the review. And you can still run it for all cops with
`-n 999` or `-n -0`.
This commit is contained in:
Maikel Linke
2023-04-20 10:41:36 +10:00
parent 0ac2358f2c
commit f71e5ee43c

View File

@@ -1,7 +1,12 @@
#!/bin/sh
#!/bin/bash
#
# Fixes safe cops automatically and creates a commit for each.
#
# Usage:
# ./script/rubocop-autocorrect.sh [-n 7]
#
# The optional parameter is passed to `head` to limit the number of iterations.
# Use `-n -0` to remove the limit.
if git add --dry-run --all | grep --quiet .; then
echo "Dirty working tree. Please start on a fresh branch."
@@ -15,6 +20,7 @@ git commit --all --message "Regenerate Rubocop's TODO file"
# Iterate over all safe cops:
grep "This cop supports safe autocorrection" -A 5 .rubocop_todo.yml\
| grep '^[A-Z]'\
| head "${@:1}"\
| tr -d :\
| while read cop; do
echo "Trying to autocorrect safely: $cop"