+# diffurl escaping
+ok(mkdir($config{srcdir}."/diffurl_dir"));
+my $test3 = readfile("t/test1.mdwn");
+writefile('test3.mdwn', $config{srcdir}."/diffurl_dir", $test3);
+IkiWiki::rcs_add("diffurl_dir/test3.mdwn");
+IkiWiki::rcs_commit(
+ file => "diffurl_dir/test3.mdwn",
+ message => "Added a page in diffurl_dir",
+ token => "moo",
+);
+
+@changes = IkiWiki::rcs_recentchanges(5);
+
+is($#changes, 4);
+is($changes[0]{pages}[0]{"page"}, "diffurl_dir/test3");
+
+unlike(
+ $changes[0]{pages}[0]{"diffurl"},
+ qr{%2F}m,
+ q{path separators are preserved when UTF-8scaping filename}
+);
+
+# do a clean checkout to verify that "empty ident not allowed" is avoided
+ok(! system("rm", "-rf", $config{srcdir}));
+ok(! system("git", "clone", "$dir/repo", $config{srcdir}));
+
+writefile('unconfigured_author.mdwn', $config{srcdir}, 'I am an unconfigured git author');
+IkiWiki::rcs_add("unconfigured_author.mdwn");
+IkiWiki::rcs_commit(
+ file => "unconfigured_author.mdwn",
+ message => "hello, world",
+ token => "moo",
+);
+
+@changes = IkiWiki::rcs_recentchanges(6);
+
+is($#changes, 5);
+is($changes[0]{pages}[0]{"page"}, "unconfigured_author");
+