Ошибка "хранилище не локально" при обновлении HG

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

C:\code\printlogix\templates-dev>hg update --clean
0 files updated, 0 files merged, 0 files removed, 0 files unresolved
getting changed bfiles
abort: repository 'https://printlogix.kilnhg.com/Code/Repositories/Templates/templates-dev' is not local

C:\code\printlogix\templates-dev>

Не уверен, что означает это сообщение "репозиторий xxxx не локальный", я никогда раньше такого не видел.

Для справки я на TortoiseHg 2.5.1 (с Mercurial 2.3.2) на Windows 7 x64. Мы также используем расширение KilnBfiles.

4 ответа

Длинный выстрел, но у меня была эта проблема (hg v 2.4.2), я посмотрел на выходные данные отладки и обнаружил следующее.

calling hook preupdate.eol: <function preupdate at 0x000000000263A048>
lock: reading lock data from c9a8f1b931da
lock: reading d:\kev\htmapp\.hglocks@c9a8f1b931da <---- RELEVANT CLUE
using https://code.google.com/p/htmapp/
sending capabilities command
code.google.com certificate successfully verified
Traceback (most recent call last):
  File "mercurial\dispatch.pyo", line 88, in _runcatch
  File "mercurial\dispatch.pyo", line 741, in _dispatch`

Я использовал расширение hglocks и после проверки документов на сайте обнаружил, что оно несовместимо с чем-то более новым, чем 2.3. Отключено расширение и проблема решена.

Сообщение Mercurial в этом случае не является действительно описательным. Это помогает использовать hg --debug -vvv --traceback для вашей команды convert, чтобы получить больше деталей.

Удалите -R из вашей командной строки

из этого

hg pull -R URL -rREVISION

к этому

hg pull -rREVISION URL

В Windows вам необходимо настроить TortoiseHG/Mercurial для использования TortoisePlink для поддержки SSH. Подробности здесь:

https://confluence.atlassian.com/display/BITBUCKET/Set+up+SSH+for+Mercurial

Краткая версия: добавьте строку, подобную следующей, в раздел [UI] вашего файла mercurial.ini.

ssh = "C:\Program Files\TortoiseHg\TortoisePlink.exe" -ssh -2 -batch -C

Затем выйдите из системы и вернитесь обратно. Не уверен, почему это необходимо, но я не мог получить mercurial, чтобы получить изменение mercurial.ini, пока я не сделал это.

Например, мой файл mercurial.ini выглядит так:

# Generated by TortoiseHg settings dialog
[extensions]
mq = 
rebase = 
transplant = 
hgsubversion = C:\Users\rsyring\dev\3rdparty\hgsubversion\hgsubversion
eol = 

[ui]
username = Randy Syring <me@nospam.com>
ssh = "C:\Program Files\TortoiseHg\TortoisePlink.exe" -ssh -2 -batch -C
Другие вопросы по тегам