从mercurial文件迁移到大文件

时间:2011-11-16 14:01:31

标签: mercurial mercurial-extension

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

现在Mercurial 2.0包含了我想切换的largefile扩展名。

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

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

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

2 个答案:

答案 0 :(得分: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发布以来,有很多关于大文件的错误报告,所以无论如何都可能是一个好主意:)

答案 1 :(得分:1)

在最新的hg-bfiles版本(2011-12-05)中,如果您更新到migrate分支,则会收到以下帮助文件:

  

bfiles:迁移到largefiles

     

如果要从bfiles迁移到新的largefiles扩展名   Mercurial 2.0,您首先必须决定:转换您的回购还是保留它?

     

转换您的仓库

     

这适用于:

     
      
  • 您有一个小型存储库
  •   
  • 你确切知道每个克隆的确切位置
  •   
  • 您可以替换每个克隆
  •   
     

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

     

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

     

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

     
      
  1. 使用convert-repo shell脚本转换存储库本身。这只是一个关注“hg convert”的包装   把.hgbfiles /变成.hglf /所需的所有繁琐细节。   它很容易运行:

         

    ./ convert-repo SRC-REPO DST-REPO

         

    生成的DST-REPO尚未准备好使用:您还有   将bfiles商店转换为largefiles商店。

  2.   
  3. 使用convert-store将bfiles存储转换为largefiles存储。您必须拥有bfiles商店的本地副本 - 所以你   可能想在你的bfiles存储的服务器上运行它   住。再次,这很简单:

         

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

         

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

  4.         

    保留你的回购

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