conflicts involving unicode paths can't be displayed
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Bazaar |
Fix Released
|
Low
|
Martin Packman | ||
bzr (Ubuntu) |
Fix Released
|
Low
|
Jelmer Vernooij |
Bug Description
Binary package hint: bzr
1) Have added file with Russian letters in filename
2) Removed that file in working copy under Windows environment. Committed changes
3) Updated to latest version in Linux env
4) Got message about conflicts
5) Typed "bzr conficts" to see conflicted files.
6) Crash
I'm not 100% sure, but there are changes in file with Russian file in Linux working copy. So, I think conflicted file was file with Russian filename
ProblemType: Crash
DistroRelease: Ubuntu 10.10
Package: bzr 2.2.1-0ubuntu1
ProcVersionSign
Uname: Linux 2.6.35-23-generic x86_64
Architecture: amd64
BzrDebugFlags: set()
BzrVersion: 2.2.1
CheckboxSubmission: 272fa71ee0096ff
CheckboxSystem: 2954e74ba17fb0e
CommandLine: ['/usr/bin/bzr', 'conflicts']
CrashDb: bzr
Date: Mon Dec 6 22:37:46 2010
ExecutablePath: /usr/bin/bzr
FileSystemEncoding: UTF-8
InstallationMedia: Ubuntu 9.10 "Karmic Koala" - Release amd64 (20091027)
InterpreterPath: /usr/bin/python2.6
Locale: ru_RU.utf8
Platform: Linux-2.
ProcCmdline: /usr/bin/python /usr/bin/bzr conflicts
ProcEnviron:
SHELL=/bin/bash
PATH=(custom, user)
LANG=ru_RU.utf8
PythonVersion: 2.6.6
SourcePackage: bzr
Title: bzr crashed with UnicodeEncodeError in run()
UserEncoding: UTF-8
UserGroups: adm admin audio cdrom dialout lpadmin netdev plugdev sambashare video
Traceback (most recent call last):
File "/usr/lib/
return the_callable(*args, **kwargs)
File "/usr/lib/
ret = run(*run_argv)
File "/usr/lib/
return self.run(
File "/usr/lib/
return self._operation
File "/usr/lib/
self.cleanups, self.func, *args, **kwargs)
File "/usr/lib/
result = func(*args, **kwargs)
File "/usr/lib/
self.
UnicodeEncodeError: 'ascii' codec can't encode characters in position 25-30: ordinal not in range(128)
Related branches
- John A Meinel: Approve
-
Diff: 256 lines (+83/-25)8 files modifiedbzrlib/conflicts.py (+4/-4)
bzrlib/merge.py (+1/-1)
bzrlib/status.py (+1/-1)
bzrlib/tests/blackbox/test_conflicts.py (+58/-14)
bzrlib/tests/test_conflicts.py (+13/-2)
bzrlib/tests/test_transform.py (+1/-1)
bzrlib/transform.py (+2/-2)
doc/en/release-notes/bzr-2.4.txt (+3/-0)
tags: | removed: need-duplicate-check |
description: | updated |
visibility: | private → public |
Changed in bzr (Ubuntu): | |
status: | New → Triaged |
importance: | Undecided → Low |
summary: |
- bzr crashed with UnicodeEncodeError in run() + conflicts involving unicode paths can't be displayed |
Changed in bzr: | |
milestone: | none → 2.4b3 |
status: | In Progress → Fix Released |
Changed in bzr (Ubuntu): | |
status: | Triaged → In Progress |
assignee: | nobody → Jelmer Vernooij (jelmer) |
Changed in bzr (Ubuntu): | |
status: | In Progress → Fix Released |
Accidentally changed bug 686735 rather than this one...
Can hit the problem by making the blackbox tests use a non-ascii path like so:
=== modified file 'bzrlib/ tests/blackbox/ test_conflicts. py' tests/blackbox/ test_conflicts. py 2010-11-07 16:32:51 +0000 tests/blackbox/ test_conflicts. py 2011-04-13 14:05:01 +0000
('%s/ myfile' % (this_path,), 'contentsa2\n'),
('%s/ my_other_ file' % (this_path,), 'contentsa2\n'), rename_ one('mydir' , 'mydir3') rename_ one('mydir' , u'mydir3\xa0') tree.commit( message= 'change' ) tree.merge_ from_branch( other_tree. branch)
--- bzrlib/
+++ bzrlib/
@@ -43,7 +43,7 @@
])
- this_tree.
+ this_tree.
this_
this_
return this_tree, other_tree