]> Sergey Matveev's repositories - public-inbox.git/commitdiff
tighten up digit matches to ASCII for git output
authorEric Wong <e@80x24.org>
Wed, 5 Jun 2019 01:26:55 +0000 (01:26 +0000)
committerEric Wong <e@80x24.org>
Wed, 5 Jun 2019 01:26:55 +0000 (01:26 +0000)
While I don't expect git to suddenly start spewing non-ASCII
digits in places I'd expect ASCII, this would make things easier
for future hackers and reviewers.

lib/PublicInbox/Git.pm
lib/PublicInbox/Import.pm
script/public-inbox-convert

index 9014e021cedcb9084ac50eea515e0a71119f1e94..68445b3cc28961379e763908e8b93b9d5f8e061a 100644 (file)
@@ -141,7 +141,7 @@ again:
                }
                return;
        }
-       $head =~ /^[0-9a-f]{40} \S+ (\d+)$/ or
+       $head =~ /^[0-9a-f]{40} \S+ ([0-9]+)$/ or
                fail($self, "Unexpected result from git cat-file: $head");
 
        my $size = $1;
@@ -319,7 +319,7 @@ sub modified ($) {
        foreach my $oid (<$fh>) {
                chomp $oid;
                my $buf = cat_file($self, $oid) or next;
-               $$buf =~ /^committer .*?> (\d+) [\+\-]?\d+/sm or next;
+               $$buf =~ /^committer .*?> ([0-9]+) [\+\-]?[0-9]+/sm or next;
                my $cmt_time = $1;
                $modified = $cmt_time if $cmt_time > $modified;
        }
index 81a38fb6987d4d403bc1be376d610b8305d69fe7..2c4bad92996dde45489c84a590cc4cc94f6ebf59 100644 (file)
@@ -106,7 +106,7 @@ sub _cat_blob ($$$) {
        local $/ = "\n";
        my $info = <$r>;
        defined $info or die "EOF from fast-import / cat-blob: $!";
-       $info =~ /\A[a-f0-9]{40} blob (\d+)\n\z/ or return;
+       $info =~ /\A[a-f0-9]{40} blob ([0-9]+)\n\z/ or return;
        my $left = $1;
        my $offset = 0;
        my $buf = '';
@@ -493,9 +493,9 @@ sub clean_purge_buffer {
 
        foreach my $i (0..$#$buf) {
                my $l = $buf->[$i];
-               if ($l =~ /^author .* (\d+ [\+-]?\d+)$/) {
+               if ($l =~ /^author .* ([0-9]+ [\+-]?[0-9]+)$/) {
                        $buf->[$i] = "author <> $1\n";
-               } elsif ($l =~ /^data (\d+)/) {
+               } elsif ($l =~ /^data ([0-9]+)/) {
                        $buf->[$i++] = "data " . length($cmt_msg) . "\n";
                        $buf->[$i] = $cmt_msg;
                        last;
@@ -525,7 +525,7 @@ sub purge_oids {
                                @buf = ();
                        }
                        push @buf, "commit $tmp\n";
-               } elsif (/^data (\d+)/) {
+               } elsif (/^data ([0-9]+)/) {
                        # only commit message, so $len is small:
                        my $len = $1; # + 1 for trailing "\n"
                        push @buf, $_;
@@ -557,7 +557,7 @@ sub purge_oids {
                        @buf = ();
                } elsif ($_ eq "done\n") {
                        $done = 1;
-               } elsif (/^mark :(\d+)$/) {
+               } elsif (/^mark :([0-9]+)$/) {
                        push @buf, $_;
                        $mark = $1;
                } else {
index bd8fb9855b1eeee7617553c54845340afa2a458c..99480c3a8808f4fe4a19c0d8f7bb171bc752a45a 100755 (executable)
@@ -103,7 +103,7 @@ while (<$rd>) {
                $state = 'blob';
        } elsif (/^commit /) {
                $state = 'commit';
-       } elsif (/^data (\d+)/) {
+       } elsif (/^data ([0-9]+)/) {
                my $len = $1;
                $w->print($_) or $im->wfail;
                while ($len) {
@@ -114,7 +114,7 @@ while (<$rd>) {
                }
                next;
        } elsif ($state eq 'commit') {
-               if (m{^M 100644 :(\d+) (${h}{2}/${h}{38})}o) {
+               if (m{^M 100644 :([0-9]+) (${h}{2}/${h}{38})}o) {
                        my ($mark, $path) = ($1, $2);
                        $D{$path} = $mark;
                        if ($last && $last ne 'm') {
@@ -134,7 +134,7 @@ while (<$rd>) {
                        $last = 'd';
                        next;
                }
-               if (m{^from (:\d+)}) {
+               if (m{^from (:[0-9]+)}) {
                        $prev = $from;
                        $from = $1;
                        # no next