Mercurial - 大型文件 xxxx 无法从 http:///foo/blah/blah 获得

Mercurial - largefile xxxx not available from http://foo/blah/blah

我克隆了一个大型 Mercurial 存储库,进行了一些更改,然后将其推送到另一台服务器。

一些新的开发人员开始参与该项目,并尝试使用

从新服务器克隆存储库

hg clone -r "branchname" http://ourserver/scm/hg/repo

成功下载源。但是,缺少大文件,所以我们尝试

hg lfpull --rev "all()"

这会导致很多这样的错误:

Foo/Bar/afile.7z: largefile xxxx not available from http://ourserver/scm/hg/repo

如果我进入 Mercurial 网络界面,浏览到一个文件并通过 "raw" link 下载它,我得到一个文件名正确的文件,但它只包含我的文件猜测是一个ID。例如,一个 PDF 仅包含:

f91476a8c2cc0a164c0880d128ca80776a8a934e

有什么建议吗?我在本地拥有所有这些文件,但它们来自原始服务器。如何确保推送大文件?

想法:

When you push a changeset that affects largefiles to a remote repository, its largefile revisions will be uploaded along with the changeset. This ensures that the central store gets a copy of every revision of every largefile. Note that the remote Mercurial must also have the largefiles extension enabled for this to work.

似乎,"different server" 没有启用 LargeFiles,因此 - 每个人都会遇到文件混乱,而带有 LF 扩展名的 repo 不会存储在默认回购存储中(回购仅包含 "links" 到其存储中大文件的修订版)