Staging
v0.5.1
https://foss.heptapod.net/mercurial/hgview
Revision 1ddc87097b45555523fd8b8d18874aecdee85d2f authored by Alain Leufroy on 28 May 2013, 10:34:27 UTC, committed by Alain Leufroy on 28 May 2013, 10:34:27 UTC
We were decoding strings for changeset description and file data only.  But we
also have to decode all all meta-information from Hg repo (a.k.a. usernames,
bookmarks, tags, branches, filenames).

String are decoded just at rendering times. Data are kept binary string for
other operation (eg: comparing filenames).

We use the ``hgviewlib.util.tounicode`` function everywhere now.

We also missed using utf-8 for Scintilla.

:Fix initiated by: Юрий Мандрик.

.. note:: We try to decode using utf8, iso-8859-15 and cp1252 (in this order)
          using the first that successfully decode the string. If all fail we
          use utf8 with ``replace`` strategy.

test case used::

    hg init cyrillic
    cd cyrillic
    hg branch 'ЖЗИЙФ'
    echo 'ЖЗИЙФ' > ЖЗИЙФ
    hg add ЖЗИЙФ
    hg ci -m 'ЖЗИЙФ' -u 'ЖЗИЙФ'
    hg bookmark 'ЖЗИЙФЖЗИЙФ'
    hg tag 'ЖЗИЙФ'
    hg mv 'ЖЗИЙФ' 'ЖЗИЙФЖЗИЙФ'
    hg ci -m 'move'
    echo 'hello' > ЖЗИЙФЖЗИЙФ
    hg ci -m 'back to ascii'
    hg rm ЖЗИЙФЖЗИЙФ
    hg ci -m 'remove'
1 parent d42a956
Raw File
Tip revision: 1ddc87097b45555523fd8b8d18874aecdee85d2f authored by Alain Leufroy on 28 May 2013, 10:34:27 UTC
[qt] full support for unicode with utf-8 encoding (closes #142378)
Tip revision: 1ddc870
control
Source: hgview
Section: vcs
Priority: optional
Maintainer: David Douard <david.douard@logilab.fr>
Uploaders: Julien Cristau <julien.cristau@logilab.fr>, Alain Leufroy <alain.leufroy@logilab.fr>, Pierre-Yves David <pierre-yves.david@logilab.fr>
Build-Depends: debhelper (>= 5.0.38), pyqt4-dev-tools, python (>=2.6.6-3~), xmlto, asciidoc, mercurial
X-Python-Version: >= 2.5
Standards-Version: 3.9.1
Vcs-Hg: http://www.logilab.org/cgi-bin/hgwebdir.cgi/hgview
Vcs-Browser: http://www.logilab.org/cgi-bin/hgwebdir.cgi/hgview
Homepage: http://www.logilab.org/project/hgview

Package: hgview
Architecture: all
Depends: 
  ${python:Depends},
  ${misc:Depends},
  python-qt4,
  python-qscintilla2,
  python-docutils,
  hgview-common (= ${source:Version})
Enhances: mercurial
Description: mercurial interactive history viewer (Qt4 interface)
 Its purpose is to easily navigate in a mercurial repository
 history. It has been written with efficiency in mind when dealing
 with quite big repositories.
 .
 This package installs the Qt4 interface.

Package: hgview-common
Architecture: all
Depends:
  ${python:Depends},
  ${misc:Depends},
  mercurial (>= 1.9.1-1),
Enhances: mercurial
Breaks: hgview (<< 1.4)
Replaces: hgview (<< 1.4)
Recommends: hgview | hgview-curses
Description: mercurial interactive history viewer (common files)
 Its purpose is to easily navigate in a mercurial repository
 history. It has been written with efficiency in mind when dealing
 with quite big repositories.
 .
 This package install the common files.
 You may want to install a user interface (hgview or hgview-curses).

Package: hgview-curses
Architecture: all
Depends:
 ${python:Depends},
 ${misc:Depends},
 python-urwid,
 python-pygments,
 python-pyinotify,
 hgview-common (= ${source:Version}),
Enhances: mercurial
Description: mercurial interactive history viewer (text interface)
 Its purpose is to easily navigate in a mercurial repository
 history. It has been written with efficiency in mind when dealing
 with quite big repositories.
 .
 This package installs the text interface. 
 Note that the Qt interface is more complete than the text interface and
 provides more views.

back to top