summaryrefslogtreecommitdiff
path: root/doc/todo/provide_sha1_for_git_diffurl.mdwn
blob: 9c8b340de9882ac732a2926a5c305086dcdf1a8f (plain)

This [[patch]] allows for \[[sha1]] substitution in the diffurl for git repositories. This is useful for use with cgit which has diffurls of the following form:

/project.git/diff/\[[file]]?id=\[[sha1_commit]]
diff --git a/IkiWiki/Plugin/git.pm b/IkiWiki/Plugin/git.pm
index 5bef928..164210d 100644
--- a/IkiWiki/Plugin/git.pm
+++ b/IkiWiki/Plugin/git.pm
@@ -518,6 +518,7 @@ sub rcs_recentchanges ($) { #{{{
 
 			my $diffurl = defined $config{'diffurl'} ? $config{'diffurl'} : "";
 			$diffurl =~ s/\[\[file\]\]/$file/go;
+			$diffurl =~ s/\[\[sha1\]\]/$sha1/go;
 			$diffurl =~ s/\[\[sha1_parent\]\]/$ci->{'parent'}/go;
 			$diffurl =~ s/\[\[sha1_from\]\]/$detail->{'sha1_from'}/go;
 			$diffurl =~ s/\[\[sha1_to\]\]/$detail->{'sha1_to'}/go;

[[done]], but I called it sha1_commit since I think that's what it's actually a sha1 of. --[[Joey]]

I was at a loss for something more descriptive...I like that much better :) Thanks! --[[JasonBlevins]]