From 246e93a300f81d67f5e6339e77cd533b815da9e9 Mon Sep 17 00:00:00 2001
From: Jelmer Vernooij <jelmer@samba.org>
Date: Wed, 30 Jan 2008 02:29:28 +0100
Subject: [PATCH] Expand file-id in diffurl in the bzr backend.

---
 IkiWiki/Rcs/bzr.pm | 9 ++++++---
 t/bazaar.t         | 2 +-
 2 files changed, 7 insertions(+), 4 deletions(-)

diff --git a/IkiWiki/Rcs/bzr.pm b/IkiWiki/Rcs/bzr.pm
index 43822fe8f..a04bfe1cb 100644
--- a/IkiWiki/Rcs/bzr.pm
+++ b/IkiWiki/Rcs/bzr.pm
@@ -95,7 +95,8 @@ sub rcs_recentchanges ($) { #{{{
 	eval q{use CGI 'escapeHTML'};
 	error($@) if $@;
 
-	my @cmdline = ("bzr", "log", "-v", "--limit", $num, $config{srcdir});
+	my @cmdline = ("bzr", "log", "-v", "--show-ids", "--limit", $num, 
+		           $config{srcdir});
 	open (my $out, "@cmdline |");
 
 	eval q{use Date::Parse};
@@ -111,12 +112,14 @@ sub rcs_recentchanges ($) { #{{{
 		}
 
 		foreach my $file (split(/\n/, $info->{files})) {
+			my ($filename, $fileid) = split(/[ \t]+/, $file);
 			my $diffurl = $config{'diffurl'};
-			$diffurl =~ s/\[\[file\]\]/$file/go;
+			$diffurl =~ s/\[\[file\]\]/$filename/go;
+			$diffurl =~ s/\[\[file-id\]\]/$fileid/go;
 			$diffurl =~ s/\[\[r2\]\]/$info->{revno}/go;
 
 			push @pages, {
-				page => pagename($file),
+				page => pagename($filename),
 				diffurl => $diffurl,
 			};
 		}
diff --git a/t/bazaar.t b/t/bazaar.t
index 75534682b..f064814fe 100755
--- a/t/bazaar.t
+++ b/t/bazaar.t
@@ -17,7 +17,7 @@ use Test::More tests => 11;
 BEGIN { use_ok("IkiWiki"); }
 
 %config=IkiWiki::defaultconfig();
-$config{rcs} = "bazaar";
+$config{rcs} = "bzr";
 $config{srcdir} = "$dir/repo";
 IkiWiki::checkconfig();
 
-- 
2.39.5