bzr smart server can't handle UTF-8 user names, gives UnknownErrorFromSmartServer
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Bazaar |
Fix Released
|
Medium
|
Martin Pool | ||
2.3 |
Fix Released
|
Medium
|
Martin Pool | ||
bzr (Ubuntu) |
Fix Released
|
Undecided
|
Jelmer Vernooij | ||
Natty |
Fix Released
|
High
|
Jelmer Vernooij |
Bug Description
I have an ä (LATIN SMALL LETTER A WITH DIAERESIS) in my name, so it is the GECOS-field on savannah.gnu.org,
UTF-8 decoded.
When I tried to commit to bzr+ssh://<email address hidden>
Unable to determine your name. Please use "bzr whoami" to set it (se log below).
I have used bzr whoami so the message is at least incorrect. Changing my name in savannah so that ä isn't in the GECOS-filed fixes the problem.
Log follows:
Sön 2010-10-10 14:51:11 +0200
0.044 bazaar version: 2.2.1
0.044 bzr arguments: [u'commit', u'-m', u"Bug#7150: Distinguishing between left
and right Alt keys on NextStep/OSX.\n\n* lisp/cus-start.el (all): ns-right-alte
rnate-modifier is new.\n\n* lisp/term/ns-win.el (ns-right-
ew defvar.
r.\n(mac-
c/nsterm.m (Qleft): Declare.
ghtAlternateKey
if\nns_
modifier isn't Qleft, use it\nas emacs modifier for NSRightAlternat
yms_of_nsterm): DEFVAR_LISP ns-right-
/ChangeLog', u'lisp/
rc/nsterm.m']
0.058 looking for plugins in /Users/
0.058 looking for plugins in /Library/
0.164 encoding stdout as osutils.
0.207 opening working tree '/Users/
0.599 bzr-svn: using Subversion 1.6.5 ()
0.643 ssh implementation is OpenSSH
4.522 preparing to commit
6.574 Traceback (most recent call last):
File "/Library/
return the_callable(*args, **kwargs)
File "/Library/
ret = run(*run_argv)
File "/Library/
return self.run(
File "/Library/
return self._operation
File "/Library/
self.cleanups, self.func, *args, **kwargs)
File "/Library/
result = func(*args, **kwargs)
File "/Library/
exclude=
File "/Library/
result = unbound(self, *args, **kwargs)
File "/Library/
result = WorkingTree3.
File "/Library/
result = unbound(self, *args, **kwargs)
File "/Library/
*args, **kwargs)
File "/Library/
possible_
File "/Library/
self.cleanups, self.func, self, *args, **kwargs)
File "/Library/
result = func(*args, **kwargs)
File "/Library/
self.
File "/Library/
self.
File "/Library/
remote_tokens = self._remote_
File "/Library/
repo_token or '', **err_context)
File "/Library/
self.
File "/Library/
self.
File "/Library/
self.
File "/Library/
_translate_
File "/Library/
raise errors.
UnknownErrorFro
6.574 return code 3
Related branches
- John A Meinel: Approve
-
Diff: 267 lines (+168/-8)5 files modifiedbzrlib/config.py (+92/-5)
bzrlib/tests/features.py (+1/-0)
bzrlib/tests/fixtures.py (+12/-0)
bzrlib/tests/test_config.py (+49/-0)
doc/en/release-notes/bzr-2.3.txt (+14/-3)
Changed in bzr: | |
assignee: | nobody → Martin Pool (mbp) |
Changed in bzr: | |
status: | In Progress → Fix Released |
milestone: | none → 2.4b2 |
Changed in bzr (Ubuntu): | |
status: | New → Fix Released |
Changed in bzr (Ubuntu Natty): | |
status: | New → In Progress |
assignee: | nobody → Jelmer Vernooij (jelmer) |
Changed in bzr (Ubuntu): | |
assignee: | nobody → Jelmer Vernooij (jelmer) |
Changed in bzr (Ubuntu Natty): | |
importance: | Undecided → High |
Thanks for the clear bug report.
I would speculate that Python may run on savannah with the locale set such that it expects gecos to be in ascii. You would think that LANG= whatever gets passed across ssh, but perhaps not. If you can get the server-side traceback, which should be in .bzr.log there, that could help.
It's also a bit questionable whether we actually need to read the gecos field on the server. This may be related to bzr trying to use your server-side name as information in the lock file.