2012-07-09 47 views
1

我期待加入誰做的最後一次提交給項目的GitWeb列表中的每個項目的人的名字,所以不是的GitWeb - 最後一個人的名字犯

14 min ago 

它說像

14 min ago (Someone's Name) 

我已經通過gitweb.cgi一看,發現那裏的字符串被寫入(在我行5488)的觀點,但我真的不知道如何着手。

有沒有人已經這樣做?或者任何人都可以提供快速解決方案

+0

你知道,這可能是線8854爲好;仍然沒有解決問題。你爲什麼不在這裏寫這行(或這個塊)呢? ) – raina77ow 2012-07-09 11:19:56

+2

同意@ raina77ow。一旦你找到了某種版本,(在代碼中有'我們的$ version ='「'行),它就更容易提供幫助。我發現了一個帶有快速谷歌的1.7.0.2版本,並且提出了2542行中的'sub git_get_last_activity'。這可以得到年齡,並且可以修改它以獲取名稱。請參閱'git for-each-ref'手冊頁。雖然我無法測試,所以我不能提出正確的答案。 – simbabque 2012-07-09 11:25:36

+0

我們使用的版本是'1.7.10.msysgit.1'。我在那裏找到了'git_get_last_activity',所以我會看看我能做些什麼。謝謝。 – Chris 2012-07-09 11:32:57

回答

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); 
} 

然後搜索那裏是後來被稱爲(應該只有一次),並改變

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

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

然後去git_project_list_rows和陳GE

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

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

樂意幫忙。只要它工作,看起來沒問題。 :) – simbabque 2012-07-09 12:31:53

相關問題