Parece ser um bug no Mercurial. Eu não tenho idéia do porque isso só prejudica a minha instalação. Meu relatório de bug está aqui: Edição2196 .
O bug tem um anexo com um patch para o Mercurial 1.6.
Quando eu executo o "hg convert" para converter um repositório do Subversion para o Mercurial, recebo este erro:
fetching revision log for "/trunk" from 1538 to 0
run hg sink post-conversion action
Traceback (most recent call last):
File "/usr/lib/pymodules/python2.6/mercurial/dispatch.py", line 46, in _runcatch
return _dispatch(ui, args)
File "/usr/lib/pymodules/python2.6/mercurial/dispatch.py", line 454, in _dispatch
return runcommand(lui, repo, cmd, fullargs, ui, options, d)
File "/usr/lib/pymodules/python2.6/mercurial/dispatch.py", line 324, in runcommand
ret = _runcommand(ui, options, cmd, d)
File "/usr/lib/pymodules/python2.6/mercurial/dispatch.py", line 505, in _runcommand
return checkargs()
File "/usr/lib/pymodules/python2.6/mercurial/dispatch.py", line 459, in checkargs
return cmdfunc()
File "/usr/lib/pymodules/python2.6/mercurial/dispatch.py", line 453, in <lambda>
d = lambda: util.checksignature(func)(ui, *args, **cmdoptions)
File "/usr/lib/pymodules/python2.6/mercurial/util.py", line 386, in check
return func(*args, **kwargs)
File "/usr/lib/pymodules/python2.6/hgext/convert/__init__.py", line 229, in convert
return convcmd.convert(ui, src, dest, revmapfile, **opts)
File "/usr/lib/pymodules/python2.6/hgext/convert/convcmd.py", line 398, in convert
c.convert(sortmode)
File "/usr/lib/pymodules/python2.6/hgext/convert/convcmd.py", line 312, in convert
parents = self.walktree(heads)
File "/usr/lib/pymodules/python2.6/hgext/convert/convcmd.py", line 109, in walktree
commit = self.cachecommit(n)
File "/usr/lib/pymodules/python2.6/hgext/convert/convcmd.py", line 267, in cachecommit
commit = self.source.getcommit(rev)
File "/usr/lib/pymodules/python2.6/hgext/convert/subversion.py", line 433, in getcommit
self._fetch_revisions(revnum, stop)
File "/usr/lib/pymodules/python2.6/hgext/convert/subversion.py", line 814, in _fetch_revisions
for entry in stream:
File "/usr/lib/pymodules/python2.6/hgext/convert/subversion.py", line 122, in __iter__
entry = pickle.load(self._stdout)
IOError: [Errno 4] Interrupted system call
abort: Interrupted system call
Aparentemente, é possível reiniciar uma leitura em EINTR
, mas como eu faria isso com pickle.load()
? Também me pergunto de onde vem esse sinal? Eu suspeito que é SIGCHILD mas não deveria popen()
lidar com isso?
Parece ser um bug no Mercurial. Eu não tenho idéia do porque isso só prejudica a minha instalação. Meu relatório de bug está aqui: Edição2196 .
O bug tem um anexo com um patch para o Mercurial 1.6.
Tags svn conversion mercurial