Package: trac-git Version: 0.12.0.5+722342e-1 Severity: important Tags: patch
Dear Maintainer, I experienced this bug: http://trac.edgewall.org/ticket/10980 with trac-git plugin 0.12. Description: Genshi UnicodeDecodeError when showing files whith trac-git repositories browser. NB: These files have some characters with accents. The trac-git plugin branch 0.12 is no longer maintained as trac-git is now part of trac-1.0. So I backport the patch to the 0.12 version: (Tested on debian wheezy, it works perfectly) >From 741328a588e6d799747958499ccc06c1056ae83f Mon Sep 17 00:00:00 2001 From: Richard Genoud <richard.gen...@gmail.com> Date: Wed, 10 Apr 2013 14:26:57 +0200 Subject: [PATCH] backport bug fix: Loading the timeline causes a Genshi UnicodeDecodeError without trace. http://trac.edgewall.org/ticket/10980 --- tracext/git/PyGIT.py | 11 +++++++---- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/tracext/git/PyGIT.py b/tracext/git/PyGIT.py index 8e8f7d3..b03b4cc 100644 --- a/tracext/git/PyGIT.py +++ b/tracext/git/PyGIT.py @@ -423,7 +423,8 @@ class Storage(object): def get_branches(self): "returns list of (local) branches, with active (= HEAD) one being the first item" - return self.rev_cache.branch_dict + return ((self._fs_to_unicode(name), sha) + for name, sha in self.rev_cache.branch_dict) def get_commits(self): return self.rev_cache.rev_dict @@ -449,7 +450,8 @@ class Storage(object): return [] if resolve: - return [ (k, v) for k, v in _rev_cache.branch_dict if v in rheads ] + return ((self._fs_to_unicode(k), v) + for k, v in _rev_cache.branch_dict if v in rheads) return rheads @@ -507,7 +509,7 @@ class Storage(object): def verifyrev(self, rev): "verify/lookup given revision object and return a sha id or None if lookup failed" - rev = str(rev) + rev = self._fs_from_unicode(rev) _rev_cache = self.rev_cache @@ -590,7 +592,8 @@ class Storage(object): return None def get_tags(self): - return [ e.strip() for e in self.repo.tag("-l").splitlines() ] + return (self._fs_to_unicode(e.strip()) + for e in self.repo.tag('-l').splitlines()) def ls_tree(self, rev, path=""): rev = rev and str(rev) or 'HEAD' # paranoia -- 1.7.10.4 Best regards, Richard. -- System Information: Debian Release: 7.0 APT prefers testing-updates APT policy: (500, 'testing-updates'), (500, 'testing') Architecture: amd64 (x86_64) Kernel: Linux 3.2.0-4-amd64 (SMP w/4 CPU cores) Locale: LANG=fr_FR.UTF-8, LC_CTYPE=fr_FR.UTF-8 (charmap=UTF-8) Shell: /bin/sh linked to /bin/dash Versions of packages trac-git depends on: ii git [git-core] 1:1.7.10.4-1+wheezy1 ii python 2.7.3-4 ii python2.6 2.6.8-1.1 ii python2.7 2.7.3-6 ii trac 0.12.3-1 trac-git recommends no packages. trac-git suggests no packages. -- no debconf information -- To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org