changeset 3792:63adb3d5233a beta

fixed some unicode problems with git file path
author Marcin Kuzminski <marcin@python-works.com>
date Fri, 26 Apr 2013 14:14:46 +0200
parents 1aee8b0cea70
children 222e9432298e
files rhodecode/lib/vcs/backends/git/changeset.py rhodecode/templates/files/files.html
diffstat 2 files changed, 8 insertions(+), 5 deletions(-) [+]
line wrap: on
line diff
--- a/rhodecode/lib/vcs/backends/git/changeset.py	Thu Apr 25 17:56:19 2013 +0200
+++ b/rhodecode/lib/vcs/backends/git/changeset.py	Fri Apr 26 14:14:46 2013 +0200
@@ -17,7 +17,7 @@
 from rhodecode.lib.vcs.utils import safe_unicode
 from rhodecode.lib.vcs.utils import date_fromtimestamp
 from rhodecode.lib.vcs.utils.lazy import LazyProperty
-from rhodecode.lib.utils2 import safe_int
+from rhodecode.lib.utils2 import safe_int, safe_str
 
 
 class GitChangeset(BaseChangeset):
@@ -289,15 +289,18 @@
         which is generally not good. Should be replaced with algorithm
         iterating commits.
         """
+        self._get_filectx(path)
+        cs_id = safe_str(self.id)
+        f_path = safe_str(path)
 
-        self._get_filectx(path)
         if limit:
             cmd = 'log -n %s --pretty="format: %%H" -s -p %s -- "%s"' % (
-                      safe_int(limit, 0), self.id, path
+                      safe_int(limit, 0), cs_id, f_path
                    )
+
         else:
             cmd = 'log --pretty="format: %%H" -s -p %s -- "%s"' % (
-                      self.id, path
+                      cs_id, f_path
                    )
         so, se = self.repository.run_git_command(cmd)
         ids = re.findall(r'[0-9a-fA-F]{40}', so)
--- a/rhodecode/templates/files/files.html	Thu Apr 25 17:56:19 2013 +0200
+++ b/rhodecode/templates/files/files.html	Fri Apr 26 14:14:46 2013 +0200
@@ -3,7 +3,7 @@
 <%def name="title(*args)">
     ${_('%s Files') % c.repo_name}
     %if hasattr(c,'file'):
-        &middot; ${c.file.path or '\\'}
+        &middot; ${h.safe_unicode(c.file.path) or '\\'}
     %endif
     &middot; ${c.rhodecode_name}
 </%def>