Desde o Mercurial 1.3, você pode usar a extensão de compartilhamento para fazer indiretamente o que deseja. Comece ativando a extensão adicionando o seguinte a ~/.hgrc
:
[extensions]
share =
Em seguida, crie um repositório normal na partição onde deseja que o diretório .hg
seja:
$ cd /mnt/bigdisk
$ hg init foo
Vá até o local em que você deseja que a cópia de trabalho seja criada e crie um repositório compartilhado:
$ cd ~/src
$ hg share /mnt/bigdisk/foo
Isso cria um repositório ~/src/foo
para você. Este repositório fará referência ao repositório /mnt/bigdisk/foo
. Ainda haverá uma pasta .hg
em ~/src/foo
, mas estará quase vazia e, portanto, muito pequena. Você opera no repositório compartilhado como normal, mas todos os commits vão diretamente para o repositório /mnt/bigdisk/foo
.
A extensão de compartilhamento funciona em todas as plataformas onde o Mercurial é executado (Windows, Mac OS X, Linux, etc.), já que o "link simbólico" é feito internamente pelo Mercurial, não por meio do sistema de arquivos.