Edgewall Software

Opened 11 years ago

Last modified 11 years ago

#11180 closed defect

Show incorrect properties if the file has unicode path in git repository — at Initial Version

Reported by: Jun Omae Owned by:
Priority: normal Milestone: 1.0.2
Component: plugin/git Version: 1.0-stable
Severity: normal Keywords: unicode
Cc: Branch:
Release Notes:
API Changes:
Internal Changes:

Description

If a file has unicode path in a git repository, Trac shows the incorrect properties for the file.

attachment:unicode-path-in-git-repos.png

Also, in that case, Python raises the following warning.

/home/jun66j5/src/trac/edgewall/tracopt/versioncontrol/git/PyGIT.py:884: UnicodeWarning: Unicode equal comparison failed to convert both arguments to Unicode - interpreting them as being unequal
  if next_path == [path]:

Patch:

  • tracopt/versioncontrol/git/PyGIT.py

    diff --git a/tracopt/versioncontrol/git/PyGIT.py b/tracopt/versioncontrol/git/PyGIT.py
    index 5b2354e..b33991a 100644
    a b class Storage(object):  
    866866        p = []
    867867        change = {}
    868868        next_path = []
     869        base_path = self._fs_from_unicode(base_path)
    869870
    870871        def name_status_gen():
    871872            p[:] = [self.repo.log_pipe('--pretty=format:%n%H',
    class Storage(object):  
    896897        gen = name_status_gen()
    897898
    898899        def historian(path):
     900            path = self._fs_from_unicode(path)
    899901            try:
    900902                return change[path]
    901903            except KeyError:

Change History (1)

by Jun Omae, 11 years ago

Note: See TracTickets for help on using tickets.