]> git.vanrenterghem.biz Git - git.ikiwiki.info.git/blobdiff - IkiWiki/Plugin/git.pm
please review new po pagespec: needstranlation()
[git.ikiwiki.info.git] / IkiWiki / Plugin / git.pm
index b02fc118ddc0e758bee82b22b7c49b713a1e3153..992c6226b6b69f859b80458fb6b21da52a28a49c 100644 (file)
@@ -506,6 +506,11 @@ sub rcs_commit_staged (@) {
                if (defined $u) {
                        $u=encode_utf8($u);
                        $ENV{GIT_AUTHOR_NAME}=$u;
+               }
+               if (defined $params{session}->param("nickname")) {
+                       $u=encode_utf8($params{session}->param("nickname"));
+               }
+               if (defined $u) {
                        $ENV{GIT_AUTHOR_EMAIL}="$u\@web";
                }
        }
@@ -601,12 +606,16 @@ sub rcs_recentchanges ($) {
                        push @messages, { line => $line };
                }
 
-               my $user=$ci->{'author_name'};
-               my $usershort=$ci->{'author_username'};
+               my $user=$ci->{'author_username'};
                my $web_commit = ($ci->{'author'} =~ /\@web>/);
-
-               if ($usershort =~ /:\/\//) {
-                       $usershort=undef; # url; not really short
+               my $nickname;
+
+               # Set nickname only if a non-url author_username is available,
+               # and author_name is an url.
+               if ($user !~ /:\/\// && defined $ci->{'author_name'} &&
+                   $ci->{'author_name'} =~ /:\/\//) {
+                       $nickname=$user;
+                       $user=$ci->{'author_name'};
                }
 
                # compatability code for old web commit messages
@@ -621,7 +630,7 @@ sub rcs_recentchanges ($) {
                push @rets, {
                        rev        => $sha1,
                        user       => $user,
-                       usershort  => $usershort,
+                       nickname   => $nickname,
                        committype => $web_commit ? "web" : "git",
                        when       => $when,
                        message    => [@messages],
@@ -658,9 +667,6 @@ sub findtimes ($$) {
        my $file=shift;
        my $id=shift; # 0 = mtime ; 1 = ctime
 
-       # Remove srcdir prefix
-       $file =~ s/^\Q$config{srcdir}\E\/?//;
-
        if (! keys %time_cache) {
                my $date;
                foreach my $line (run_or_die('git', 'log',