我如何知道“hg clone”是否正在远程执行工作?

我如何知道“hg clone”是否正在远程执行工作?

我的机器上有一个非常简单的 Windows Mercurial 安装。“中央”存储库位于//mymachine/hg-repos/central

我希望远程 (VPN) 用户能够在hg-repos目录中创建此存储库的克隆,因为它每天都会进行备份。我已授予这些用户对该hg-repos目录的完全控制权。我的问题是:

如果我在远程机器上,并运行以下命令:

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

远程机器是否完成了大部分工作?

我不希望客户端必须下载所有中央存储库,然后再将其全部上传回来,因为全国各地的人都会使用它。但我怀疑这就是这里发生的事情,因为它运行起来如此轻松。

答案1

您的命令在本地运行(毕竟,您是从本地机器运行“hg”可执行文件)。参数都是远程挂载的目录,它们的行为与本地目录相同。因此,本地“hg”程序的工作方式就像在处理本地文件一样。

它比下载/重新上传“更好”吗?我不知道,这取决于操作系统如何处理远程目录上的“复制”操作。也许它有一个向服务器发送“复制”命令的原语,但我真的对此表示怀疑。

我敢打赌它正在读取整个目录树,并且可能正在下载/上传所有文件内容。

答案2

它应该只执行相当于的操作cp -r,然后执行 hg update。它应该比下载+重新上传更有效率。

相关内容