Ошибка обновления Mercurial (hg), отмена: нет такого файла или каталога - PullRequest
4 голосов
/ 19 октября 2011

Я не могу обновить меркуриальные репозитории на моей машине.Я получаю следующую ошибку при обновлении hg up --traceback:

Traceback (most recent call last):
  File "/usr/lib/python2.7/dist-packages/mercurial/dispatch.py", line 87, in _runcatch
    return _dispatch(req)
  File "/usr/lib/python2.7/dist-packages/mercurial/dispatch.py", line 679, in _dispatch
    cmdpats, cmdoptions)
  File "/usr/lib/python2.7/dist-packages/mercurial/dispatch.py", line 454, in runcommand
    ret = _runcommand(ui, options, cmd, d)
  File "/usr/lib/python2.7/dist-packages/mercurial/dispatch.py", line 733, in _runcommand
    return checkargs()
  File "/usr/lib/python2.7/dist-packages/mercurial/dispatch.py", line 687, in checkargs
    return cmdfunc()
  File "/usr/lib/python2.7/dist-packages/mercurial/dispatch.py", line 676, in <lambda>
    d = lambda: util.checksignature(func)(ui, *args, **cmdoptions)
  File "/usr/lib/python2.7/dist-packages/mercurial/util.py", line 385, in check
    return func(*args, **kwargs)
  File "/usr/lib/python2.7/dist-packages/mercurial/commands.py", line 5131, in update
    ret = hg.update(repo, rev)
  File "/usr/lib/python2.7/dist-packages/mercurial/hg.py", line 395, in update
    stats = mergemod.update(repo, node, False, False, None)
  File "/usr/lib/python2.7/dist-packages/mercurial/merge.py", line 554, in update
    stats = applyupdates(repo, action, wc, p2, pa, overwrite)
  File "/usr/lib/python2.7/dist-packages/mercurial/merge.py", line 329, in applyupdates
    subrepo.submerge(repo, wctx, mctx, wctx.ancestor(mctx), overwrite)
  File "/usr/lib/python2.7/dist-packages/mercurial/subrepo.py", line 156, in submerge
    mctx.sub(s).get(r)
  File "/usr/lib/python2.7/dist-packages/mercurial/subrepo.py", line 668, in get
    if self._svnversion >= (1, 5):
  File "/usr/lib/python2.7/dist-packages/mercurial/util.py", line 169, in __get__
    result = self.func(obj)
  File "/usr/lib/python2.7/dist-packages/mercurial/subrepo.py", line 567, in _svnversion
    output, err = self._svncommand(['--version'], filename=None)
  File "/usr/lib/python2.7/dist-packages/mercurial/subrepo.py", line 555, in _svncommand
    universal_newlines=True, env=env, **extrakw)
  File "/usr/lib/python2.7/subprocess.py", line 679, in __init__
    errread, errwrite)
  File "/usr/lib/python2.7/subprocess.py", line 1239, in _execute_child
    raise child_exception
OSError: [Errno 2] No such file or directory
abort: No such file or directory

Я пытался сделать rm -rf myrepo, а затем выполнить hg clone ssh://hg@bitbucket.org/myrepo, но эта команда загружает репозиторий правильно, но я получаю то же самоеошибка, когда hg пытается обновить репо до ветки по умолчанию, более конкретно я получаю это:

destination directory: foo
requesting all changes
adding changesets
adding manifests
adding file changes
added 6270 changesets with 20990 changes to 3682 files
updating to branch default
abort: No such file or directory

с трекбэком, я получаю ошибку, аналогичную той, которую я получал раньше.Я даже безуспешно пытался переустановить Mercurial в своей системе.

Подскажите, пожалуйста, в чем проблема.Голова репо, кажется, в порядке, (я могу clone и update на других машинах), и я могу clone или update другие репозитории hg в моей системе.Может ли это иметь какое-либо отношение к подпунктам?Об этом свидетельствует трекбек.

Сведения о моей системе: 32-разрядная версия Ubuntu 11.10, запущенная версия Mercurial 1.9.1.

1 Ответ

8 голосов
/ 19 октября 2011

Похоже, что в репо-источнике есть подрепортаж svn, и у вас не установлен клиент Subversion (или svn отсутствует в пути поиска).

...