+ if (!($commit_id =~ m/^[0-9a-fA-F]{40}$/)) {
+ # lookup hash by textual id
+ open my $fd, "-|", "$gitbin/git-rev-parse --verify $commit_id" or return;
+ my $hash_id = <$fd>;
+ close $fd or return;
+ chomp $hash_id;
+ $co{'id'} = $hash_id
+ } else {
+ $co{'id'} = $commit_id;
+ }