]> Lady’s Gitweb - Gitweb/blobdiff - gitweb.perl
gitweb: cache $parent_commit info in git_blame()
[Gitweb] / gitweb.perl
index 4be6c184042258a4b5b259f82b6abeb40086792a7754d6949dc5bf19ee90f1bc..c55184774dbaf270fec03c3b98851aacd5e92c6eaf0e3729094a09766e797672 100755 (executable)
@@ -4667,11 +4667,17 @@ HTML
                                      esc_html($short_rev));
                        print "</td>\n";
                }
-               open (my $dd, "-|", git_cmd(), "rev-parse", "$full_rev^")
-                       or die_error(500, "Open git-rev-parse failed");
-               my $parent_commit = <$dd>;
-               close $dd;
-               chomp($parent_commit);
+               my $parent_commit;
+               if (!exists $meta->{'parent'}) {
+                       open (my $dd, "-|", git_cmd(), "rev-parse", "$full_rev^")
+                               or die_error(500, "Open git-rev-parse failed");
+                       $parent_commit = <$dd>;
+                       close $dd;
+                       chomp($parent_commit);
+                       $meta->{'parent'} = $parent_commit;
+               } else {
+                       $parent_commit = $meta->{'parent'};
+               }
                my $blamed = href(action => 'blame',
                                  file_name => $meta->{'filename'},
                                  hash_base => $parent_commit);
This page took 0.286648 seconds and 4 git commands to generate.