Edgewall Software

Ticket #7723: 7723-2-unicode-fix-r7928.patch

File 7723-2-unicode-fix-r7928.patch, 1.3 KB (added by cboos, 3 years ago)
  • trac/versioncontrol/svn_fs.py

    MultiRepos: small unicode related change in `SubversionRepository` constructor.
    
    diff --git a/trac/versioncontrol/svn_fs.py b/trac/versioncontrol/svn_fs.py
    a b  
    411411         
    412412        # Remove any trailing slash or else subversion might abort 
    413413        if isinstance(path, unicode): 
    414             self.path = path 
    415414            path_utf8 = path.encode('utf-8') 
    416415        else: # note that this should usually not happen (unicode arg expected) 
    417             self.path = to_unicode(path) 
    418             path_utf8 = self.path.encode('utf-8') 
     416            path_utf8 = to_unicode(path).encode('utf-8') 
     417 
    419418        path_utf8 = os.path.normpath(path_utf8).replace('\\', '/') 
     419        self.path = path_utf8.decode('utf-8') 
     420         
    420421        root_path_utf8 = repos.svn_repos_find_root_path(path_utf8, self.pool()) 
    421422        if root_path_utf8 is None: 
    422423            raise TracError(_("%(path)s does not appear to be a Subversion " 
     
    432433         
    433434        uuid = fs.get_uuid(self.fs_ptr, self.pool()) 
    434435        self.base = 'svn:%s:%s' % (uuid, _from_svn(root_path_utf8)) 
    435         name = 'svn:%s:%s' % (uuid, _from_svn(path_utf8)) 
     436        name = 'svn:%s:%s' % (uuid, self.path) 
    436437 
    437438        Repository.__init__(self, name, authz, log) 
    438439