felipec / git

Fork of Junio Hamano's git for users
Other
204 stars 34 forks source link

problem with non-ascii in comitter name for git-remote-bzr #38

Closed jave closed 11 years ago

jave commented 11 years ago

The comitter name contains an apostrophed e, which I suspect can be a problem.

The pull request causing the problem can be viewed here: https://github.com/jave/xwidget-emacs/pull/1

git push origin xwidget

DEBUG: initializing DEBUG: fetching remote 'origin' 'bzr+ssh://jave@bzr.savannah.gnu.org/emacs' Updating bzr branches DEBUG: pulling branch 'xwidget' DEBUG: pulling branch 'xwidget' Traceback (most recent call last): File "/home/joakim/bin/git-remote-bzr", line 964, in sys.exit(main(sys.argv)) File "/home/joakim/bin/git-remote-bzr", line 948, in main do_export(parser) File "/home/joakim/bin/git-remote-bzr", line 700, in do_export parse_commit(parser) File "/home/joakim/bin/git-remote-bzr", line 655, in parse_commit builder = branch.get_commit_builder(parents, None, date, tz, committer, props, revid) File "/usr/lib64/python2.7/site-packages/bzrlib/branch.py", line 734, in get_commit_builder lossy) File "/usr/lib64/python2.7/site-packages/bzrlib/vf_repository.py", line 1305, in get_commit_builder lossy) File "/usr/lib64/python2.7/site-packages/bzrlib/repofmt/pack_repo.py", line 110, in init lossy=lossy) File "/usr/lib64/python2.7/site-packages/bzrlib/vf_repository.py", line 117, in init revision_id, lossy) File "/usr/lib64/python2.7/site-packages/bzrlib/repository.py", line 104, in init self._committer = committer.decode() # throw if non-ascii UnicodeDecodeError: 'ascii' codec can't decode byte 0xc3 in position 2: ordinal not in range(128) error: fast-export died of signal 13 fatal: Error while running fast-export

jave commented 11 years ago

the line in bzrlib looks like:

    elif not isinstance(committer, unicode):
        self._committer = committer.decode() # throw if non-ascii

The signature like this: def init(self, repository, parents, config_stack, timestamp=None, timezone=None, committer=None, revprops=None, revision_id=None, lossy=False):

so perhaps somehow flagging the committer as unicode would help.

jave commented 11 years ago

diff /tmp/git-remote-bzr.py ~/bin/git-remote-bzr 55,57d54 < def info(msg, *args): < sys.stderr.write('%s\n' % (msg % args)) < 637a635,638

#committer = unicode(committer)
committer = unicode(committer, 'utf-8')
sys.stderr.write('DEBUG: %s\n' % committer)

796,797d796 < info("Cloning branch '%s'", name) < 858,859d856 < < info('Updating bzr branches')

felipec commented 11 years ago

All right, it should be fixed in 1bae0da.