Muito lento impulso Mercurial sobre o compartilhamento de rede no Windows

1

Demora cerca de 15 minutos para o TortoiseHG efectuar um envio a partir de um repositório no meu disco rígido local (onde o directório .hg contém 532 ficheiros, totalizando 110MB) para um repositório vazio na minha unidade de rede.

No entanto, se eu usar o Windows Explorer para copiar e colar o mesmo diretório .hg (532 arquivos, 110MB) para a mesma unidade de rede, levará cerca de 30 segundos a 1 minuto.

Por que essa desaceleração por um fator de 10-30? Posso evitar isso? (ou seja, o Mercurial está fazendo algo desnecessário que eu posso evitar com as opções de linha de comando apropriadas?)

Atualização: é lento o suficiente para causar um efeito negativo em nosso fluxo de trabalho. E, o mesmo empurrão de um local para outro no HD local é rápido (vários segundos ao invés de minutos). Isso significa que, na verdade, seria muito mais rápido copiar o diretório .hg remoto completo para um local temporário na unidade local, enviá-lo para ele e copiá-lo de volta para a unidade de rede. Antes de eu considerar realmente implementar esta solução desajeitada ... certamente há uma melhor?

[Detalhes: Estou usando a linha de comando hg.exe do TortoiseHG 3.4.1 no Windows 7, e a unidade de rede é uma TimeCapsule da Apple. Eu o acesso através do software Airport Base Station Agent, que cria a aparência de uma unidade de rede normal (ou seja, semelhante ao samba). A unidade é montada como Z:\ e, portanto, o caminho default listado em hgrc começa com Z:\ , portanto, até onde o mercurial sabe, o envio está acontecendo de um local "local" para outro, ou seja, não http ou ssh. A mesma lentidão acontece se eu usar o caminho UNC completo \Like\this\... em vez de Z:\... ]

    
por jez 08.07.2016 / 22:26

0 respostas