History

checkpatch: improve --git <commit-count> shortcut

The --git <commit-count> shortcut can be confused by a tag with a dash like v4.4-rc1. Improve the test to verify the <commit-count> expression ends with a dash followed by a numeric value. Improve the git log result to verify the "<sha1> <subject>" output as well.

Joe Perches committed 10 years ago

Commit 28898fd1 parent 0dea9f11 file · +4 −6Browse files

Showing the changes to scripts/checkpatch.pl (1 of 1 file). Show all

Unified · Split

scripts/checkpatch.pl+4−6
@@ -809,11 +809,8 @@ if ($git) { · 808 unmodified lines
809 my @commits = ();809 my @commits = ();
810 foreach my $commit_expr (@ARGV) {810 foreach my $commit_expr (@ARGV) {
811 my $git_range;811 my $git_range;
812 if ($commit_expr =~ m/-/) {812 if ($commit_expr =~ m/^(.*)-(\d+)$/) {
813 my @tmp = split(/-/, $commit_expr);813 $git_range = "-$2 $1";
814 die "$P: incorrect git commit expression '$commit_expr' $!\n"
815 if (@tmp != 2);
816 $git_range = "-$tmp[1] $tmp[0]";
817 } elsif ($commit_expr =~ m/\.\./) {814 } elsif ($commit_expr =~ m/\.\./) {
818 $git_range = "$commit_expr";815 $git_range = "$commit_expr";
819 } else {816 } else {
@@ -821,7 +818,8 @@ if ($git) { · 1 unmodified line
821 }818 }
822 my $lines = `git log --no-color --no-merges --pretty=format:'%H %s' $git_range`;819 my $lines = `git log --no-color --no-merges --pretty=format:'%H %s' $git_range`;
823 foreach my $line (split(/\n/, $lines)) {820 foreach my $line (split(/\n/, $lines)) {
824 $line =~ /(^\w+) (.*)/;821 $line =~ /^([0-9a-fA-F]{40,40}) (.*)$/;
822 next if (!defined($1) || !defined($2));
825 my $sha1 = $1;823 my $sha1 = $1;
826 my $subject = $2;824 my $subject = $2;
827 unshift(@commits, $sha1);825 unshift(@commits, $sha1);

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t