1

GitWebプロジェクトリストの各プロジェクトに最後にコミットした人の名前を追加したいので、代わりに

14 min ago

それは次のようなことを言います

14 min ago (Someone's Name)

私は調べてgitweb.cgi、文字列が書かれているポイントを見つけました(私の5488行目)が、どうすればよいか本当にわかりません。

誰かがすでにこれをしましたか?または、誰かが迅速な解決策を提供できますか?

4

1 に答える 1

2

私を指さしてくれたsimbabqueに感謝しgit_get_last_activityます。私の解決策(おそらく最適ではない、そうである場合は私に知らせてください):

git_get_last_activityに変更

sub git_get_last_activity {
my ($path) = @_;
my $fd;

$git_dir = "$projectroot/$path";
open($fd, "-|", git_cmd(), 'for-each-ref',
     '--format=%(committer)',
     '--sort=-committerdate',
     '--count=1',
     'refs/heads') or return;
my $most_recent = <$fd>;
close $fd or return;
if (defined $most_recent &&
    $most_recent =~ / (\d+) [-+][01]\d\d\d$/) {
  my $bracket_position = rindex($most_recent, "<");
  my $committer_name = substr($most_recent, 0, $bracket_position - 1);
    my $timestamp = $1;
    my $age = time - $timestamp;
    return ($age, age_string($age), $committer_name);
}
return (undef, undef, undef);
}

次に、それが後で呼び出される場所を検索し(1回だけにする必要があります)、変更します

($pr->{'age'}, $pr->{'age_string'}) = @activity;

することが

($pr->{'age'}, $pr->{'age_string'}, $pr->{'committer'}) = @activity;

次に、に移動しgit_project_list_rowsて変更します

(defined $pr->{'age_string'} ? $pr->{'age_string'} : "No commits") . "</td>\n" .

(defined $pr->{'age_string'} ? $pr->{'age_string'} . ' (' . $pr->{'committer'} . ')' : "No commits") . "</td>\n" .
于 2012-07-09T11:50:40.983 に答える