[PATCH 2/5] checkpatch: Add a --fix-inplace option

From: Joe Perches
Date: Thu Dec 26 2013 - 14:21:36 EST


Add the ability to fix and overwrite existing files/patches instead
of creating a new file "<filename>.EXPERIMENTAL-checkpatch-fixes".

Suggested-by: Manfred Spraul <manfred@xxxxxxxxxxxxxxxx>
Signed-off-by: Joe Perches <joe@xxxxxxxxxxx>
---
scripts/checkpatch.pl | 10 +++++++++-
1 file changed, 9 insertions(+), 1 deletion(-)

diff --git a/scripts/checkpatch.pl b/scripts/checkpatch.pl
index f5d4560..19376b4 100755
--- a/scripts/checkpatch.pl
+++ b/scripts/checkpatch.pl
@@ -29,6 +29,7 @@ my $mailback = 0;
my $summary_file = 0;
my $show_types = 0;
my $fix = 0;
+my $fix_inplace = 0;
my $root;
my %debug;
my %camelcase = ();
@@ -76,6 +77,9 @@ Options:
"<inputfile>.EXPERIMENTAL-checkpatch-fixes"
with potential errors corrected to the preferred
checkpatch style
+ --fix-inplace EXPERIMENTAL - may create horrible results
+ Is the same as --fix, but overwrites the input
+ file. It's your fault if there's no backup or git
--ignore-perl-version override checking of perl version. expect
runtime errors.
-h, --help, --version display this help and exit
@@ -131,6 +135,7 @@ GetOptions(
'mailback!' => \$mailback,
'summary-file!' => \$summary_file,
'fix!' => \$fix,
+ 'fix-inplace!' => \$fix_inplace,
'ignore-perl-version!' => \$ignore_perl_version,
'debug=s' => \%debug,
'test-only=s' => \$tst_only,
@@ -140,6 +145,8 @@ GetOptions(

help(0) if ($help);

+$fix = 1 if ($fix_inplace);
+
my $exit = 0;

if ($^V && $^V lt $minimum_perl_version) {
@@ -4456,7 +4463,8 @@ sub process {
hash_show_words(\%ignore_type, "Ignored");

if ($clean == 0 && $fix && "@rawlines" ne "@fixed") {
- my $newfile = $filename . ".EXPERIMENTAL-checkpatch-fixes";
+ my $newfile = $filename;
+ $newfile .= ".EXPERIMENTAL-checkpatch-fixes" if (!$fix_inplace);
my $linecount = 0;
my $f;

--
1.8.1.2.459.gbcd45b4.dirty

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/