Большое спасибо, Рэнди, за то, что подробно описал здесь проблему.
Я боролся с той же проблемой и нашел альтернативный подход к ее решению (без необходимости очистки и переустановки).
Вы можете инициализировать репозиторий hgadmin вручную и установить хуки, достигнув того же эффекта, что и при обычной установке. Однако вам нужно сделать это как пользователь «hg».
Процедура
Команды работали в моей среде (Ubuntu 10.04.4/Hg 1.4.3)
Сначала инициализируйте репозиторий mercurial в /var/lib/mercurial-server/repos/hgadmin :
$ sudo su hg
$ cd ~/repos/hgadmin/
$ hg init
Тогда единственное отличие, которое я обнаружил в нормально инициализированном репозитории hgadmin (которое я развернул на виртуальной машине для сравнения), — это перехватчики в файле .hg/hgrc. Итак, откройте файл:
$ vim .hg/hgrc
и вставьте это точное содержимое:
# WARNING: when these hooks run they will entirely destroy and rewrite
# ~/.ssh/authorized_keys
[extensions]
hgext.purge =
[hooks]
changegroup.aaaab_update = hg update -C default > /dev/null
changegroup.aaaac_purge = hg purge --all > /dev/null
changegroup.refreshauth = python:mercurialserver.refreshauth.hook
person
Ad N
schedule
03.12.2012
hgadmin
? - person dave4420   schedule 01.04.2010