从Mercurial Bfiles迁移到Largefiles

4

我已经使用了一段时间的mercurial的bfiles扩展,效果很好。唯一的问题是安装和特殊的“hg bfadd”命令。

现在Mercurial 2.0包括largefile扩展,我想切换。

找不到任何关于如何切换的工具或指南?有人试过吗?

我有几个仓库都使用相同的存储,并且有以下的mercurial.ini文件。

[bfiles]
store=\\Someserver\Mercurial\bFilesStore
autostatus  = true
autoupdate  = true 
autorefresh = true 
autoput     = *
2个回答

4
您可以在这里找到文档:https://www.mercurial-scm.org/wiki/LargefilesExtension 要启用扩展程序,请将以下内容添加到您的hgrc文件中:
[extensions]
largefiles =

您可以使用以下方法添加新的大型文件:

hg add --large thisfileislarge

关于迁移,bfiles扩展的readme.txt中提到了一个migrate.txt文件(https://bitbucket.org/gward/hg-bfiles/overview“未来”部分)。但我找不到该文件在代码库的任何位置,也许作者忘记上传了。
还有一封关于此事的邮件在mercurial-devel邮件列表里:https://www.mercurial-scm.org/pipermail/mercurial-devel/2011-October/035161.html 但自那以后就没有其他消息了。
也许更好的解决方案是联系bfiles的作者,了解他在迁移过程中的状态,并继续使用旧的扩展,直到得到答复为止?
无论如何,自2.0发布以来,有很多关于largefiles的错误报告,所以等待一段时间可能是个好主意:)

我会联系Greg Ward,他的电子邮件地址在上面链接的mercurial-devel邮件中。此外,我赞同在采用largefiles之前再等一段时间的建议。 - Laurens Holst
好的,谢谢。我会等待,如果在接下来的几个版本中没有文档出现,我会联系作者。 - adrianm

1
在最新的hg-bfiles版本(从2011-12-05开始),如果您更新到migrate分支,您将获得此帮助文件: bfiles: 迁移到 largefiles 如果您想从 bfiles 迁移到 Mercurial 2.0 中的新 largefiles 扩展,首先必须决定:转换您的 repo 还是保留它? 转换您的 repo 如果:
  • 您有一个小型仓库
  • 您确切知道每个克隆的位置
  • 您可以替换每个克隆
这是适当的。它涉及创建一个新的 repo,将 .hgbfiles/ 替换为 .hglf/。这意味着您的变更集 ID 将不同,因此您不能在旧 repo 和新 repo 之间进行 pull/push。您必须用转换后的 repo 的克隆替换每个现有的克隆。
转换您的 repo 的优点是,您可以永远告别 bfiles,并使用 largefiles 进入未来。
该过程由两个 shell 脚本自动化:convert-repo 和 convert-store。
  1. 使用 convert-repo shell 脚本转换仓库本身。这只是一个包装器,围绕 "hg convert" 处理所有需要将 .hgbfiles/ 转换为 .hglf/ 的繁琐细节。运行起来很容易:
  2. ./convert-repo SRC-REPO DST-REPO

    生成的 DST-REPO 还没有准备好使用:您仍然需要将 bfiles store 转换为 largefiles store。

  3. 使用 convert-store 将 bfiles store 转换为 largefiles store。您必须拥有 bfiles store 的本地副本,因此您可能希望在存储 bfiles store 的服务器上运行它。同样,这很容易:
  4. ./convert-store SRC-STORE DST-REPO/.hg/largefiles

    将 store 放在 DST-REPO 中是使 largefiles 正常工作的最简单方法。

保留您的 repo

是的,这就是文件的结尾,没有关于如何保持您的存储库的帮助。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接