4

我使用 mercurial 的 bfiles 扩展名已经有一段时间了,它运行良好。唯一的问题是安装和特殊的“hg bfadd”命令。

现在 Mercurial 2.0 包含我想切换的大文件扩展名。

找不到任何有关如何操作的工具或指南?任何人都尝试过。

我有几个存储库都使用同一个商店并具有以下 mercurial.ini。

[bfiles]
store=\\Someserver\Mercurial\bFilesStore
autostatus  = true
autoupdate  = true 
autorefresh = true 
autoput     = *
4

2 回答 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 版本以来都有很多关于大文件的错误报告,所以无论如何等待可能是个好主意:)

于 2011-11-16T14:18:17.203 回答
1

在最新的hg-bfiles版本中(从 2011-12-05 开始),如果你更新到migrate分支,你会得到这个帮助文件:

bfiles:迁移到大文件

如果你想从 bfiles 迁移到 Mercurial 2.0 中新的 largefiles 扩展,你首先必须决定:转换你的 repo 还是保留它?

转换你的回购

这在以下情况下是合适的:

  • 你有一个小存储库
  • 你确切地知道它的每个克隆在哪里
  • 你可以替换每个克隆

它涉及使用 .hgbfiles/ 替换为 .hglf/ 创建一个新的 repo。这意味着您的变更集 ID 会有所不同,因此您无法在新旧存储库之间拉/推。您必须用转换后的 repo 的克隆替换每个现有的克隆。

转换你的 repo 的好处是你可以永远告别 bfiles,并单独使用 largefiles 进入未来。

该过程主要由两个 shell 脚本自动完成:convert-repo 和 convert-store。

  1. 使用 convert-repo shell 脚本来转换存储库本身。这只是“hg convert”的一个封装,它负责将 .hgbfiles/ 转换为 .hglf/ 所需的所有繁琐细节。它很容易运行:

    ./convert-repo SRC-REPO DST-REPO

    生成的 DST-REPO 尚未准备好使用:您仍然需要将 bfiles 存储转换为 largefiles 存储。

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

    ./convert-store SRC-STORE DST-REPO/.hg/largefiles

    将存储放在 DST-REPO 中是使大文件正常工作的最简单方法。

保持你的回购

(是的,这是文件的结尾,没有关于如何保留您的存储库的帮助)

于 2012-05-10T23:51:27.237 回答