Como sei se o 'hg clone' está fazendo o trabalho remotamente?

1

Eu tenho uma instalação muito simples do Mercurial no Windows em minha máquina. O repositório 'central' está localizado em //mymachine/hg-repos/central .

Eu quero que os usuários remotos (VPN) possam criar clones desse repositório no diretório hg-repos porque ele obtém backups diários. Eu dei a esses usuários controle total do diretório hg-repos . Minha pergunta é esta:

Se eu estiver em uma máquina remota e executar o comando:

hg clone //mymachine/hg-repos/central //mymachine/hg-repos/central-copy

a máquina remota está fazendo a maior parte do trabalho?

Eu não quero que o cliente tenha que baixar todo o repositório central e, em seguida, fazer o upload de tudo de volta, porque as pessoas vão usá-lo em todo o país. Mas eu suspeito que isso é o que está acontecendo aqui, já que funciona tão facilmente.

    
por jjfine 29.03.2010 / 17:44

2 respostas

2

Seu comando está sendo executado localmente (afinal, você está executando o executável "hg" na máquina local). Os parâmetros são diretórios montados remotamente e se comportam como diretórios locais. Assim, o programa "hg" local funciona como se estivesse trabalhando com arquivos locais.

É "melhor" que o download / reupload? Eu não sei, isso depende de como o sistema operacional lida com a operação de "cópia" em diretórios remotos. Talvez tenha um primitivo para enviar um comando "copiar" para o servidor, mas eu realmente duvido disso.

Minha aposta é que ele está lendo toda a árvore de diretórios e, provavelmente, fazendo o download / upload de todo o conteúdo do arquivo.

    
por 29.03.2010 / 18:56
1

Deve fazer apenas o equivalente a cp -r , seguido por hg update. Deve ser um pouco mais eficiente do que um download + reupload.

    
por 29.03.2010 / 18:49