我想要设置一个Mercurial存储库,但是不是在存储库树下有.hg/
目录,而是希望将它从工作副本移到某个地方(如其他分区)。
有没有可能这样做?
由于Mercurial 1.3,您可以使用共享扩展间接地做你想要的。 首先通过将以下内容添加到~/.hgrc
来启用扩展:
[extensions] share =
然后在希望使用.hg
目录的分区上创build一个正常的存储库:
$ cd /mnt/bigdisk $ hg init foo
去你想要的工作副本的地方,并创build一个共享的存储库:
$ cd ~/src $ hg share /mnt/bigdisk/foo
这会为你创build一个~/src/foo
仓库。 这个仓库将会引用/mnt/bigdisk/foo
仓库。 在~/src/foo
仍然会有一个.hg
文件夹,但它几乎是空的,因此非常小。 您可以像正常一样在共享资源库上进行操作,但所有提交都直接进入/mnt/bigdisk/foo
存储库。
共享扩展适用于Mercurial运行的所有平台(Windows,Mac OS X,Linux,…),因为“符号链接”由Mercurial内部完成,而不是通过文件系统完成。
没有办法做到你想要的。 最接近的将是一个符号链接.hg
指向真正的。 请看这个线程 。