Поскольку Вы передаете по каналу в цикл с условием продолжения, оболочка sub создается для выполнения цикла с условием продолжения. Теперь этот дочерний процесс имеет свою собственную копию среды и не может пасовать назад переменные к ее родителю (как ни в каком процессе Unix).
Поэтому необходимо будет реструктурировать так, чтобы Вы не передавали по каналу в цикл. Кроме того, Вы могли работать в функции, например, и повторить значение, которое Вы хотите, возвратился из подпроцесса.
Параметр allow_push = *
позволит кому угодно отправлять запросы в ваш репозиторий, обслуживаемый с помощью hg serve
. Конечно, вы должны делать это только в надежной сети. Кроме того, вы не можете выполнить аутентификацию с помощью hg serve
- перед ним вам понадобится веб-сервер, который будет аутентифицировать пользователей.
См. hgrc для краткого объяснения allow_push
и wiki для более подробного объяснения того, для чего предназначен hg serve
.
Я только начинаю знакомиться с Mercurial, и, судя по тому, что я могу сказать (и прочитать в документации), веб-сервер TortoiseHg не предназначен для постоянного решения. Документы, кажется, направляют вас к запуску Apache или lighttpd.
Вы также можете ознакомиться с руководством Vampire Basic по запуску Mercurial в Windows .
Я считаю, что вы можете просто отредактировать свой файл hgrc в разделе [авторизовать]: Сохранить пароль в TortoiseHg