我在我的机器上安装了一个非常简单的Mercurial Windows安装程序。 “中央”仓库位于//mymachine/hg-repos/central 。
我希望远程(VPN)用户能够在hg-repos目录中创build该存储库的克隆,因为它获取每日备份。 我给这些用户完全控制了hg-repos目录。 我的问题是这样的:
如果我在远程机器上,并运行命令:
hg clone //mymachine/hg-repos/central //mymachine/hg-repos/central-copy
是做大部分工作的远程机器?
我不希望客户必须下载所有的中央存储库,然后将其全部上传,因为人们将要在全国范围内使用它。 但我怀疑这是在这里发生的事情,因为它很容易工作。
你的命令是在本地运行的(毕竟,你正在从本地机器上运行“hg”可执行文件)。 这些参数都是远程挂载的目录,它们的行为与本地目录相同。 因此,本地的“hg”程序就像处理本地文件一样。
比下载/重新上传更“好”吗? 我不知道,这取决于操作系统如何处理远程目录上的“复制”操作。 也许它有一个原始的发送“复制”命令到服务器,但我真的怀疑这一点。
我敢打赌,它正在读取整个目录树,并可能下载/上传所有文件内容。
它只应该做一个相当于cp -r ,然后是hg更新。 它应该比下载+重新上传更有效率。