Comment 1 for bug 448129

Revision history for this message
Ryan Dortmans (ryan-dortmans) wrote : Re: keywords - unicode handling problem

I also have the same issue. It seems to be able to handle some files but not others.

To reproduce, I created a file with the following contents:

// $Filename$

®

I added this to a test repository and committed. Then ran the following:

bzr export --filters /bzr/temp/export ./

OR

bzr cat --filters testfile.cpp

Both end up with the following error:

bzr: ERROR: exceptions.UnicodeDecodeError: 'ascii' codec can't decode byte 0xae in position 2: ordinal not in range(128)

Traceback (most recent call last):
  File "/usr/lib/python2.6/site-packages/bzrlib/commands.py", line 927, in exception_to_return_code
    return the_callable(*args, **kwargs)
  File "/usr/lib/python2.6/site-packages/bzrlib/commands.py", line 1127, in run_bzr
    ret = run(*run_argv)
  File "/usr/lib/python2.6/site-packages/bzrlib/commands.py", line 692, in run_argv_aliases
    return self.run(**all_cmd_args)
  File "/usr/lib/python2.6/site-packages/bzrlib/commands.py", line 714, in run
    return self._operation.run_simple(*args, **kwargs)
  File "/usr/lib/python2.6/site-packages/bzrlib/cleanup.py", line 135, in run_simple
    self.cleanups, self.func, *args, **kwargs)
  File "/usr/lib/python2.6/site-packages/bzrlib/cleanup.py", line 165, in _do_with_cleanups
    result = func(*args, **kwargs)
  File "/usr/lib/python2.6/site-packages/bzrlib/plugins/keywords/__init__.py", line 223, in run
    return super(cmd_export, self).run(*args, **kwargs)
  File "/usr/lib/python2.6/site-packages/bzrlib/builtins.py", line 2893, in run
    per_file_timestamps=per_file_timestamps)
  File "/usr/lib/python2.6/site-packages/bzrlib/export/__init__.py", line 109, in export
    per_file_timestamps=per_file_timestamps)
  File "/usr/lib/python2.6/site-packages/bzrlib/export/__init__.py", line 63, in _loader
    per_file_timestamps=per_file_timestamps)
  File "/usr/lib/python2.6/site-packages/bzrlib/export/dir_exporter.py", line 84, in dir_exporter
    chunks = filtered_output_bytes(chunks, filters, context)
  File "/usr/lib/python2.6/site-packages/bzrlib/filters/__init__.py", line 170, in filtered_output_bytes
    chunks = filter.writer(chunks, context)
  File "/usr/lib/python2.6/site-packages/bzrlib/plugins/keywords/keywords.py", line 259, in _normal_kw_expander
    return _kw_expander(chunks, context)
  File "/usr/lib/python2.6/site-packages/bzrlib/plugins/keywords/keywords.py", line 254, in _kw_expander
    encoder=encoder)]
  File "/usr/lib/python2.6/site-packages/bzrlib/plugins/keywords/keywords.py", line 221, in expand_keywords
    return result + rest
UnicodeDecodeError: 'ascii' codec can't decode byte 0xae in position 2: ordinal not in range(128)