Sure.

** Description changed:

- I was able to decipher that it failed when it got to the part of history
- where the commit author's name was "Raúl Núñez". (git-bzr is
- http://github.com/termie/git-bzr-ng)
+ [ Impact ]
+ * dealing with objects with a non-ascii char in their name just fail
+ 
+ [ Test case ]
+ * just try to export a bzr branch with a non-char character, for example the 
ubuntu-dev-tools bzr repository.
+ 
+ [ Regression potential ]
+ * The change has been in stretch and artful for a while, with no regressions 
reported
+ * also the change itself is kind of small and easily auditable
+ 
+ [ Original description ]
+ I was able to decipher that it failed when it got to the part of history 
where the commit author's name was "Raúl Núñez". (git-bzr is 
http://github.com/termie/git-bzr-ng)
  
  $ git bzr clone lp:sakura
  You have not informed bzr of your Launchpad ID, and you must do this to
  write to Launchpad or access private data.  See "bzr help launchpad-login".
  Branched 562 revisions.tching revisions:Finishing stream:Estimate 6041/7652
  14:42:10 Calculating the revisions to include ...
  14:42:10 Starting export of 743 revisions ...
  bzr: ERROR: exceptions.UnicodeDecodeError: 'ascii' codec can't decode byte 
0xc3 in position 2: ordinal not in range(128)
  
  Traceback (most recent call last):
-   File "/usr/lib/python2.7/site-packages/bzrlib/commands.py", line 930, in 
exception_to_return_code
-     return the_callable(*args, **kwargs)
-   File "/usr/lib/python2.7/site-packages/bzrlib/commands.py", line 1121, in 
run_bzr
-     ret = run(*run_argv)
-   File "/usr/lib/python2.7/site-packages/bzrlib/commands.py", line 673, in 
run_argv_aliases
-     return self.run(**all_cmd_args)
-   File "/usr/lib/python2.7/site-packages/bzrlib/commands.py", line 697, in run
-     return self._operation.run_simple(*args, **kwargs)
-   File "/usr/lib/python2.7/site-packages/bzrlib/cleanup.py", line 136, in 
run_simple
-     self.cleanups, self.func, *args, **kwargs)
-   File "/usr/lib/python2.7/site-packages/bzrlib/cleanup.py", line 166, in 
_do_with_cleanups
-     result = func(*args, **kwargs)
-   File "/usr/lib/python2.7/site-packages/bzrlib/plugins/fastimport/cmds.py", 
line 720, in run
-     return exporter.run()
-   File 
"/usr/lib/python2.7/site-packages/bzrlib/plugins/fastimport/exporter.py", line 
240, in run
-     self.emit_commit(revid, self.ref)
-   File 
"/usr/lib/python2.7/site-packages/bzrlib/plugins/fastimport/exporter.py", line 
358, in emit_commit
-     self.print_cmd(self._get_commit_command(ref, mark, revobj, file_cmds))
-   File 
"/usr/lib/python2.7/site-packages/bzrlib/plugins/fastimport/exporter.py", line 
287, in print_cmd
-     self.outf.write("%r\n" % cmd)
-   File "/usr/lib/python2.7/site-packages/fastimport/commands.py", line 74, in 
__repr__
-     return self.__bytes__()
-   File "/usr/lib/python2.7/site-packages/fastimport/commands.py", line 186, 
in __bytes__
-     return self.to_string(include_file_contents=True)
-   File "/usr/lib/python2.7/site-packages/fastimport/commands.py", line 201, 
in to_string
-     author_section = b'\nauthor ' + format_who_when(self.author)
-   File "/usr/lib/python2.7/site-packages/fastimport/commands.py", line 504, 
in format_who_when
-     name = utf8_bytes_string(name)
-   File "/usr/lib/python2.7/site-packages/fastimport/helpers.py", line 104, in 
utf8_bytes_string
-     return s.encode('utf8')
+   File "/usr/lib/python2.7/site-packages/bzrlib/commands.py", line 930, in 
exception_to_return_code
+     return the_callable(*args, **kwargs)
+   File "/usr/lib/python2.7/site-packages/bzrlib/commands.py", line 1121, in 
run_bzr
+     ret = run(*run_argv)
+   File "/usr/lib/python2.7/site-packages/bzrlib/commands.py", line 673, in 
run_argv_aliases
+     return self.run(**all_cmd_args)
+   File "/usr/lib/python2.7/site-packages/bzrlib/commands.py", line 697, in run
+     return self._operation.run_simple(*args, **kwargs)
+   File "/usr/lib/python2.7/site-packages/bzrlib/cleanup.py", line 136, in 
run_simple
+     self.cleanups, self.func, *args, **kwargs)
+   File "/usr/lib/python2.7/site-packages/bzrlib/cleanup.py", line 166, in 
_do_with_cleanups
+     result = func(*args, **kwargs)
+   File "/usr/lib/python2.7/site-packages/bzrlib/plugins/fastimport/cmds.py", 
line 720, in run
+     return exporter.run()
+   File 
"/usr/lib/python2.7/site-packages/bzrlib/plugins/fastimport/exporter.py", line 
240, in run
+     self.emit_commit(revid, self.ref)
+   File 
"/usr/lib/python2.7/site-packages/bzrlib/plugins/fastimport/exporter.py", line 
358, in emit_commit
+     self.print_cmd(self._get_commit_command(ref, mark, revobj, file_cmds))
+   File 
"/usr/lib/python2.7/site-packages/bzrlib/plugins/fastimport/exporter.py", line 
287, in print_cmd
+     self.outf.write("%r\n" % cmd)
+   File "/usr/lib/python2.7/site-packages/fastimport/commands.py", line 74, in 
__repr__
+     return self.__bytes__()
+   File "/usr/lib/python2.7/site-packages/fastimport/commands.py", line 186, 
in __bytes__
+     return self.to_string(include_file_contents=True)
+   File "/usr/lib/python2.7/site-packages/fastimport/commands.py", line 201, 
in to_string
+     author_section = b'\nauthor ' + format_who_when(self.author)
+   File "/usr/lib/python2.7/site-packages/fastimport/commands.py", line 504, 
in format_who_when
+     name = utf8_bytes_string(name)
+   File "/usr/lib/python2.7/site-packages/fastimport/helpers.py", line 104, in 
utf8_bytes_string
+     return s.encode('utf8')
  UnicodeDecodeError: 'ascii' codec can't decode byte 0xc3 in position 2: 
ordinal not in range(128)
  
  bzr 2.7.0 on python 2.7.12 (Linux-4.8.8-2-ARCH-x86_64-with-glibc2.2.5)
  arguments: ['/usr/sbin/bzr', 'fast-export', '--plain', '--export-
-     marks=/home/forivall/code/repos/sakura/.git/bzr/map/master-bzr', '--git-
-     branch=bzr/master',
-     '/home/forivall/code/repos/sakura/.git/bzr/repo/master']
+     marks=/home/forivall/code/repos/sakura/.git/bzr/map/master-bzr', '--git-
+     branch=bzr/master',
+     '/home/forivall/code/repos/sakura/.git/bzr/repo/master']
  plugins: bash_completion[2.7.0], changelog_merge[2.7.0],
-     fastimport[0.14.0dev], grep[2.7.0], launchpad[2.7.0],
-     netrc_credential_store[2.7.0], news_merge[2.7.0], po_merge[2.7.0],
-     weave_fmt[2.7.0]
+     fastimport[0.14.0dev], grep[2.7.0], launchpad[2.7.0],
+     netrc_credential_store[2.7.0], news_merge[2.7.0], po_merge[2.7.0],
+     weave_fmt[2.7.0]
  encoding: 'utf-8', fsenc: 'UTF-8', lang: 'en_CA.UTF-8'
  
  *** Bazaar has encountered an internal error.  This probably indicates a
-     bug in Bazaar.  You can help us fix it by filing a bug report at
-         https://bugs.launchpad.net/bzr/+filebug
-     including this traceback and a description of the problem.
+     bug in Bazaar.  You can help us fix it by filing a bug report at
+         https://bugs.launchpad.net/bzr/+filebug
+     including this traceback and a description of the problem.
  ERROR:root:bzr export failed
  
  I fixed it by changing `s.encode('utf8')` to `return unicode(s,
  'utf8').encode('utf8')`, but that should probably be limited to only
  when `sys.getdefaultencoding()` returns 'ascii'

** Also affects: python-fastimport (Ubuntu Zesty)
   Importance: Undecided
       Status: New

** Also affects: python-fastimport (Ubuntu Artful)
   Importance: Undecided
       Status: Fix Released

** Changed in: python-fastimport (Ubuntu Zesty)
       Status: New => In Progress

** Changed in: python-fastimport (Ubuntu Zesty)
     Assignee: (unassigned) => Mattia Rizzolo (mapreri)

** Changed in: python-fastimport (Ubuntu Zesty)
   Importance: Undecided => High

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/1647101

Title:
  UnicodeDecodeError in fast-export when author name contains non-ascii
  characters

To manage notifications about this bug go to:
https://bugs.launchpad.net/python-fastimport/+bug/1647101/+subscriptions

-- 
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to