]> sipb.mit.edu Git - ikiwiki.git/blobdiff - IkiWiki/Plugin/git.pm
Do not UTF8-escape "/" in Git's diffurl: cgit does not support this.
[ikiwiki.git] / IkiWiki / Plugin / git.pm
index 1dbf00d55b7f0a4d7aede6fd20ec5fb9a82a7041..9e67a36ee79465303b7983b9a4e44b6f7388b704 100644 (file)
@@ -476,12 +476,12 @@ sub rcs_find_changes ($) {
        my %changed;
        my %deleted;
        my $nullsha = 0 x 40;
-       my $newrev;
+       my $newrev=$oldrev;
        while (my $ci = parse_diff_tree(\@raw_lines)) {
                $newrev=$ci->{sha1};
                foreach my $i (@{$ci->{details}}) {
                        my $file=$i->{file};
-                       if ($i->{sha1_to} == $nullsha) {
+                       if ($i->{sha1_to} eq $nullsha) {
                                delete $changed{$file};
                                $deleted{$file}=1;
                        }
@@ -660,7 +660,9 @@ sub rcs_recentchanges ($) {
                my @pages;
                foreach my $detail (@{ $ci->{'details'} }) {
                        my $file = $detail->{'file'};
-                       my $efile = uri_escape_utf8($file);
+                       my $efile = join('/',
+                               map { uri_escape_utf8($_) } split('/', $file)
+                       );
 
                        my $diffurl = defined $config{'diffurl'} ? $config{'diffurl'} : "";
                        $diffurl =~ s/\[\[file\]\]/$efile/go;