背景
我目前使用LShift的mercurial服务器来托pipe一些汞储存库。 看起来存储库的数量以及它们的规模预计将会大大增长。
为了解决这个问题,我正在计划将托pipe在独立于托pipemercurial-server应用程序的机器的文件服务器集群上的存储库。
题
我最担心的是,mercurial-server应用程序如何处理来自客户端的请求? 采取“hg clone ssh:// hg @ server / repo”的请求。 我知道它validation密钥,并确保用户被允许克隆该回购,但是,然后处理请求的隧道或分stream到文件服务器?
基本上,mercurial-server机器是否需要传输数据GB的容量或者只是足够的容量来parsing请求?
编辑
嘿,保罗,我意识到我的要求并不是很清楚,所以我正在再试一次。 我真的很想知道,当回购是物理上分开时,mercurial-server将如何工作。 mercurial服务器是否需要处理stream经它的实际存储库的带宽?
初始请求:

潜在的实施1
文件通过mercurial-server传递:

潜在的实施2
文件直接发送给请求者(不使用mercurial-server带宽):

好的,所以将mercurial-server主机连接到文件服务器主机的协议是Mercurial本身。 在这种情况下,主机将需要大量的带宽和大量的存储空间。
你的问题是不是真的与mercurial服务器 – 完全相同的考虑适用,如果你只是通过ssh没有它使用Mercurial。 我怕我会停下来 – 我现在没有太多的时间 – 我希望你能find解决问题的办法!
mercurial-server主机将如何与文件服务器通话? 通过NFS,或其他一些远程文件系统协议?
mercurial-server希望存储库目录看起来像一个文件系统,并且(通过Mercurial)使用普通的文件系统操作来读取和写入它们,但是不关心它是真正的本地磁盘还是例如NFS挂载。