【问题标题】:Mirgrating from mercurial Bfiles to largefiles从 mercurial Bfiles 迁移到 largefiles
【发布时间】:2011-11-16 14:01:30
【问题描述】:

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

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

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

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

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

【问题讨论】:

    标签: mercurial mercurial-extension


    【解决方案1】:

    您可以在此处找到文档: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 发布以来,有很多关于大文件的错误报告,所以还是等一等吧 :)

    【讨论】:

    • 我会联系 Greg Ward,他的电子邮件地址在上面链接的 mercurial-devel 邮件中。另外,我支持在采用大文件之前稍等片刻的建议。
    • 好的,谢谢。我会等待,如果在接下来的几个版本中没有文档出现,我会联系作者。
    【解决方案2】:

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

    bfiles:迁移到大文件

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

    转换你的回购

    这适用于:

    • 你有一个小仓库
    • 你知道它的每个克隆在哪里
    • 您可以替换每个克隆

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

    转换你的回购的好处是你可以说再见 永远到 bfiles,并单独使用 largefiles 进入未来。

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

    1. 使用 convert-repo shell 脚本来转换存储库本身。这只是“hg convert”的包装,需要注意 将 .hgbfiles/ 转换为 .hglf/ 所需的所有繁琐细节。 运行简单:

      ./convert-repo SRC-REPO DST-REPO

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

    2. 使用 convert-store 将 bfiles 存储转换为 largefiles 存储。您必须拥有 bfiles 存储的本地副本 -- 所以您
      可能想在您的 bfile 存储的服务器上运行它
      生活。同样,这很简单:

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

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

    保留你的回购

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

    【讨论】:

      猜你喜欢
      • 2010-10-26
      • 1970-01-01
      • 2010-11-01
      • 2011-01-07
      • 1970-01-01
      • 2013-12-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多