Может ли Mercurial вложиться в подпапку? - PullRequest
0 голосов
/ 25 февраля 2019

Я использовал следующую строку в моем .hgsub в течение многих лет:

setup/help = https://my.repo.com/manuals

Это поместило бы репозиторий с именем «manual» в папку help внутри другой папки setup.Таким образом, моя структура родительского репозитория выглядит следующим образом:

.hg
setup
|__help
|  |__.hg
|
.hgsub

Это не было проблемой, пока я не обновил Mercurial 4.9 сегодня, теперь он говорит: «Путь к субрепарату содержит недопустимый компонент: setup / help», и я могу »т даже совершить основной репо.Mercurial запрещает это сейчас?Есть ли действительный синтаксис .hgsub, чтобы заставить это работать?Я не хочу перемещать help, чтобы быть прямым потомком главной папки проекта.Моя предыдущая версия Mercurial была 4.5, я не использовал древние инструменты ...

Ошибка отслеживания в соответствии с запросом:

Traceback (most recent call last):
  File "mercurial\scmutil.pyo", line 165, in callcatch
  File "mercurial\dispatch.pyo", line 367, in _runcatchfunc
  File "mercurial\dispatch.pyo", line 1021, in _dispatch
  File "mercurial\dispatch.pyo", line 756, in runcommand
  File "mercurial\dispatch.pyo", line 1030, in _runcommand
  File "mercurial\dispatch.pyo", line 1018, in <lambda>
  File "mercurial\util.pyo", line 1670, in check
  File "mercurial\commands.pyo", line 4621, in push
  File "mercurial\context.pyo", line 277, in sub
  File "mercurial\subrepo.pyo", line 164, in subrepo
  File "mercurial\subrepo.pyo", line 414, in __init__
Abort: subrepo path contains illegal component: setup/help
abort: subrepo path contains illegal component: setup/help

Ответы [ 2 ]

0 голосов
/ 01 марта 2019

У меня была такая же ошибка, поэтому я клонировал ртутный репозиторий ...

Ошибка была введена в теговой версии 4.9, subrepo.py.

Исправлена ​​примерно через месяц, редакция 41583 (87a6e3c953e045d92147925fc71aad7c327fdbfd).Я проверил его в фактической ветке по умолчанию, снова работает!

Итак, нет необходимости в записи ошибки, нам просто нужно дождаться следующего выпуска.

0 голосов
/ 28 февраля 2019

Насколько вы уверены в отладчике Python?Вы можете запустить команду с --debugger на этот раз.

Вы можете увидеть вывод наподобие этого:

entering debugger - type c to continue starting hg or h for help
--Call--
> /usr/lib64/python2.7/contextlib.py(21)__exit__()
-> def __exit__(self, type, value, traceback):
(Pdb)

Введите c и enter до тех пор, пока не увидите ту же обратную трассировкукак тот, который вы вставили.

Когда вы находитесь на правильной трассировке, вы можете распечатать локальные переменные, используя pp root, pp util.expandpath(root) и os.path.realpath(util.expandpath(root)).Мы должны быть в состоянии найти причину проблемы со значениями этих переменных.

Чтобы выйти из отладчика, введите q и enter.

...