When we tried to push hg repo to git, we met the below errors:
** Python 2.7 (r27, May 27 2013, 20:02:53) [GCC 4.1.2 20080704 (Red Hat 4.1.2-46)]
** Mercurial Distributed SCM (version 3.5)
** Extensions loaded: hggit
Traceback (most recent call last):
File "/usr/ali/python-2.7/bin/hg", line 5, in
pkg_resources.run_script('mercurial==3.5', 'hg')
File "/usr/ali/python-2.7/lib/python2.7/site-packages/setuptools-0.6c11-py2.7.egg/pkg_resources.py", line 489, in run_script
File "/usr/ali/python-2.7/lib/python2.7/site-packages/setuptools-0.6c11-py2.7.egg/pkg_resources.py", line 1207, in run_script
File "/usr/ali/python-2.7/lib/python2.7/site-packages/mercurial-3.5-py2.7-linux-x86_64.egg/EGG-INFO/scripts/hg", line 43, in
mercurial.dispatch.run()
File "/usr/ali/python-2.7/lib/python2.7/site-packages/mercurial-3.5-py2.7-linux-x86_64.egg/mercurial/dispatch.py", line 30, in run
sys.exit((dispatch(request(sys.argv[1:])) or 0) & 255)
File "/usr/ali/python-2.7/lib/python2.7/site-packages/mercurial-3.5-py2.7-linux-x86_64.egg/mercurial/dispatch.py", line 92, in dispatch
ret = _runcatch(req)
File "/usr/ali/python-2.7/lib/python2.7/site-packages/mercurial-3.5-py2.7-linux-x86_64.egg/mercurial/dispatch.py", line 163, in _runcatch
return _dispatch(req)
File "/usr/ali/python-2.7/lib/python2.7/site-packages/mercurial-3.5-py2.7-linux-x86_64.egg/mercurial/dispatch.py", line 895, in _dispatch
cmdpats, cmdoptions)
File "/usr/ali/python-2.7/lib/python2.7/site-packages/mercurial-3.5-py2.7-linux-x86_64.egg/mercurial/dispatch.py", line 656, in runcommand
ret = _runcommand(ui, options, cmd, d)
File "/usr/ali/python-2.7/lib/python2.7/site-packages/mercurial-3.5-py2.7-linux-x86_64.egg/mercurial/dispatch.py", line 1013, in _runcommand
return checkargs()
File "/usr/ali/python-2.7/lib/python2.7/site-packages/mercurial-3.5-py2.7-linux-x86_64.egg/mercurial/dispatch.py", line 982, in checkargs
return cmdfunc()
File "/usr/ali/python-2.7/lib/python2.7/site-packages/mercurial-3.5-py2.7-linux-x86_64.egg/mercurial/dispatch.py", line 892, in
d = lambda: util.checksignature(func)(ui, _args, *_cmdoptions)
File "/usr/ali/python-2.7/lib/python2.7/site-packages/mercurial-3.5-py2.7-linux-x86_64.egg/mercurial/util.py", line 792, in check
return func(_args, *kwargs)
File "/usr/ali/python-2.7/lib/python2.7/site-packages/mercurial-3.5-py2.7-linux-x86_64.egg/mercurial/commands.py", line 5286, in push
bookmarks=opts.get('bookmark', ()))
File "/usr/ali/python-2.7/lib/python2.7/site-packages/mercurial-3.5-py2.7-linux-x86_64.egg/mercurial/extensions.py", line 171, in closure
return func((args + a), *_kw)
File "/home/yicong.hyc/hg-git/hggit/util.py", line 48, in inner
return f(_args, *_kwargs)
File "/home/yicong.hyc/hg-git/hggit/init.py", line 308, in exchangepush
pushop.cgresult = repo.githandler.push(remote.path, revs, force)
File "/home/yicong.hyc/hg-git/hggit/git_handler.py", line 327, in push
self.export_commits()
File "/home/yicong.hyc/hg-git/hggit/git_handler.py", line 292, in export_commits
self.export_git_objects()
File "/home/yicong.hyc/hg-git/hggit/git_handler.py", line 434, in export_git_objects
self.export_hg_commit(ctx.node(), exporter)
File "/home/yicong.hyc/hg-git/hggit/git_handler.py", line 500, in export_hg_commit
if obj.id not in self.git.object_store:
File "/usr/ali/python-2.7/lib/python2.7/site-packages/dulwich-0.10.1-py2.7-linux-x86_64.egg/dulwich/objects.py", line 491, in id
return self.sha().hexdigest().encode('ascii')
File "/usr/ali/python-2.7/lib/python2.7/site-packages/dulwich-0.10.1-py2.7-linux-x86_64.egg/dulwich/objects.py", line 474, in sha
new_sha.update(self._header())
File "/usr/ali/python-2.7/lib/python2.7/site-packages/dulwich-0.10.1-py2.7-linux-x86_64.egg/dulwich/objects.py", line 453, in _header
return object_header(self.type, self.raw_length())
File "/usr/ali/python-2.7/lib/python2.7/site-packages/dulwich-0.10.1-py2.7-linux-x86_64.egg/dulwich/objects.py", line 458, in raw_length
for chunk in self.as_raw_chunks():
File "/usr/ali/python-2.7/lib/python2.7/site-packages/dulwich-0.10.1-py2.7-linux-x86_64.egg/dulwich/objects.py", line 275, in as_raw_chunks
self._chunked_text = self._serialize()
File "/usr/ali/python-2.7/lib/python2.7/site-packages/dulwich-0.10.1-py2.7-linux-x86_64.egg/dulwich/objects.py", line 939, in _serialize
return list(serialize_tree(self.iteritems()))
File "/usr/ali/python-2.7/lib/python2.7/site-packages/dulwich-0.10.1-py2.7-linux-x86_64.egg/dulwich/objects.py", line 775, in serialize_tree
yield ("%04o" % mode).encode('ascii') + b' ' + name + b'\0' + hex_to_sha(hexsha)
File "/usr/ali/python-2.7/lib/python2.7/site-packages/dulwich-0.10.1-py2.7-linux-x86_64.egg/dulwich/objects.py", line 95, in hex_to_sha
assert len(hex) == 40, "Incorrent length of hexsha: %s" % hex
AssertionError: Incorrent length of hexsha: 80037