Eu percebi isso.
O fantoche é executado como root. Isso significa que para vcsrepo usando mercurial, o usuário root precisa confiar no usuário que possui o arquivo .hgrc no repositório que está sendo atualizado.
Para estabelecer essa confiança, adicione
[trusted]
user = 'user'
Para /root/.hgrc
Quando o mercurial é executado, sua aparência é em $ HOME / .hgrc para relacionamentos de confiança.
No meu servidor existente, o agente fantoche estava sendo executado com o cron, então o cron teria visto o $ HOME como /root/.hgrc
No servidor clonado, eu estava executando a atualização de marionetes interativamente, tendo aberto um shell de root usando
sudo bash
No entanto, isso mantém minha variável $ HOME com o mesmo valor do meu usuário inicial, então o Mercurial não conseguiu encontrar as informações confiáveis necessárias em /root/.hgrc
Quando eu estabeleci um shell de root com
sudo -i
A variável correta $ HOME foi definida e a atualização do fantoche funcionou.
O parâmetro 'user' em vcsrepo refere-se ao usuário usado para autenticar no servidor remoto mercurial, não ao usuário que executa o processo no servidor local.