Edgewall Software

Opened 11 years ago

Closed 11 years ago

Last modified 11 years ago

#11180 closed defect (fixed)

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

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

Fix incorrect property values for file with unicode path in git repository

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 (3)

by Jun Omae, 11 years ago

comment:1 by Jun Omae, 11 years ago

Owner: set to Jun Omae
Status: newassigned

Added the patch and unit tests in log:jomae.git:ticket11180/1.0.2dev. I'll push it.

comment:2 by Jun Omae, 11 years ago

Keywords: unicode added
Release Notes: modified (diff)
Resolution: fixed
Status: assignedclosed

Committed in [11799].

Note: See TracTickets for help on using tickets.