Isso não pode ser feito como parte do protocolo de transferência, então você precisa ter um repositório local. Dito isto, há relativamente pouco que você pode fazer sem um repositório local no Mercurial, então faz sentido exigir (provavelmente até mesmo ajudar o usuário) um repositório local.