diff --git a/kallithea/lib/vcs/backends/hg/changeset.py b/kallithea/lib/vcs/backends/hg/changeset.py --- a/kallithea/lib/vcs/backends/hg/changeset.py +++ b/kallithea/lib/vcs/backends/hg/changeset.py @@ -329,7 +329,7 @@ class MercurialChangeset(BaseChangeset): #vals = url,rev,type loc = vals[0] cs = vals[1] - dirnodes.append(SubModuleNode(k, url=loc, changeset=cs, + dirnodes.append(SubModuleNode(safe_str(k), url=safe_str(loc), changeset=cs, alias=als)) nodes = dirnodes + filenodes for node in nodes: diff --git a/kallithea/lib/vcs/nodes.py b/kallithea/lib/vcs/nodes.py --- a/kallithea/lib/vcs/nodes.py +++ b/kallithea/lib/vcs/nodes.py @@ -603,4 +603,4 @@ class SubModuleNode(Node): then only last part is returned. """ org = self.path.rstrip('/').rsplit('/', 1)[-1] - return '%s @ %s' % (org, self.changeset.short_id) + return '%s @ %s' % (org, safe_str(self.changeset.short_id))