RabbitVCS shows error emblem emblem-rabbitvcs-error.svg on all elements inside mercurial repository with Cyrillic name

Bug #1840082 reported by Norbert
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
mercurial (Ubuntu)
New
Undecided
Unassigned
rabbitvcs (Ubuntu)
New
Undecided
Unassigned

Bug Description

Steps to reproduce:
1. Install Ubuntu 16.04 LTS
2. Install `rabbitvcs-nautilus` package and quit from Nautilus `nautilus -q`
3. Create repository directory with Cyrillic name as follows and open it with Nautilus:

```
mkdir ~/tmp/репозиторий_hg
hg init ~/tmp/репозиторий_hg
touch ~/tmp/репозиторий_hg/file
mkdir ~/tmp/репозиторий_hg/dir
cd ~/tmp/репозиторий_hg
hg config --edit # set username
hg addremove .
hg commit -m 'init'
nautilus ~/tmp/репозиторий_hg
```

Expected result:
all objects in the repository have green checkmark icon

Actual result:
all objects in the repository have bomb icon indicating error

Note: the log-file located in ~/.config/rabbitvcs/RabbitVCS.log contain many identical blocks -

```
2019-08-13 23:48:39,374 ERROR rabbitvcs.services.checkerservice org.freedesktop.DBus.Python.UnicodeEncodeError: Traceback (most recent call last):
  File "/usr/lib/python2.7/dist-packages/dbus/service.py", line 707, in _message_cb
    retval = candidate_method(self, *args, **keywords)
  File "/usr/lib/python2.7/dist-packages/rabbitvcs/services/checkerservice.py", line 175, in CheckStatus
    invalidate=invalidate)
  File "/usr/lib/python2.7/dist-packages/rabbitvcs/services/statuschecker.py", line 49, in check_status
    path_status = self.vcs_client.status(path, summary, invalidate)
  File "/usr/lib/python2.7/dist-packages/rabbitvcs/vcs/__init__.py", line 215, in status
    return client.status(path, summarize, invalidate)
  File "/usr/lib/python2.7/dist-packages/rabbitvcs/vcs/mercurial/__init__.py", line 209, in status
    all_statuses = self.statuses(path, invalidate=invalidate)
  File "/usr/lib/python2.7/dist-packages/rabbitvcs/vcs/mercurial/__init__.py", line 162, in statuses
    mercurial_statuses = self.repository.status(clean=True, unknown=True)
  File "/usr/lib/python2.7/dist-packages/mercurial/localrepo.py", line 1826, in status
    listsubrepos)
  File "/usr/lib/python2.7/dist-packages/mercurial/context.py", line 351, in status
    listunknown)
  File "/usr/lib/python2.7/dist-packages/mercurial/context.py", line 1620, in _buildstatus
    s = self._dirstatestatus(match, listignored, listclean, listunknown)
  File "/usr/lib/python2.7/dist-packages/mercurial/context.py", line 1589, in _dirstatestatus
    listclean, listunknown)
  File "/usr/lib/python2.7/dist-packages/mercurial/dirstate.py", line 1134, in status
    full=full).iteritems():
  File "/usr/lib/python2.7/dist-packages/mercurial/dirstate.py", line 1040, in walk
    traverse([d], alreadynormed)
  File "/usr/lib/python2.7/dist-packages/mercurial/dirstate.py", line 1000, in traverse
    entries = listdir(join(nd), stat=True, skip=skip)
UnicodeEncodeError: 'ascii' codec can't encode characters in position 42-52: ordinal not in range(128)
None
2019-08-13 23:48:39,448 ERROR rabbitvcs.services.checkerservice org.freedesktop.DBus.Python.UnicodeEncodeError: Traceback (most recent call last):
  File "/usr/lib/python2.7/dist-packages/dbus/service.py", line 707, in _message_cb
    retval = candidate_method(self, *args, **keywords)
...
```

ProblemType: Bug
DistroRelease: Ubuntu 16.04
Package: mercurial-common 3.7.3-1ubuntu1.2
ProcVersionSignature: Ubuntu 4.4.0-157.185-generic 4.4.181
Uname: Linux 4.4.0-157-generic x86_64
ApportVersion: 2.20.1-0ubuntu2.19
Architecture: amd64
CurrentDesktop: Unity
Date: Tue Aug 13 23:56:05 2019
PackageArchitecture: all
SourcePackage: mercurial
UpgradeStatus: No upgrade log present (probably fresh install)

Revision history for this message
Norbert (nrbrtx) wrote :
description: updated
Revision history for this message
Norbert (nrbrtx) wrote :
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.