Jakub Narebski <jnareb@xxxxxxxxx> writes: > +sub parse_difftree_raw_line { > + my $line = shift; > + my %res; > + > + # ':100644 100644 03b218260e99b78c6df0ed378e59ed9205ccc96d 3b93d5e7cc7f7dd4ebed13a5cc1a4ad976fc94d8 M ls-files.c' > + # ':100644 100644 7f9281985086971d3877aca27704f2aaf9c448ce bc190ebc71bbd923f2b728e505408f5e54bd073a M rev-tree.c' > + if ($line =~ m/^:([0-7]{6}) ([0-7]{6}) ([0-9a-fA-F]{40}) ([0-9a-fA-F]{40}) (.)([0-9]{0,3})\t(.*)$/) { We would probably want to say that status symbol is an uppercase alpha [A-Z]. Or maybe limit it to a non-whitespace letter (\S). Dot there to say "just any letter" looks wrong. I would use "+" instead of hardcoding the length of mode strings (you have 6 there) and object name hash (ditto 40) but that is mostly style and a slight future proofing against us using longer hashes (not in our immediate future though). - To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html