【问题标题】:What is the best way to copy a huge mercurial repository from one computer to another将巨大的 mercurial 存储库从一台计算机复制到另一台计算机的最佳方法是什么
【发布时间】:2015-07-30 21:54:36
【问题描述】:

我们有一个巨大(大约 10GB)的 mercurial 存储库。拉所有东西大约需要 3-4 个小时。 我的同事机器上也提供了完整的 repo。 有没有办法有效地将 repo 从他的机器克隆到我的机器上?


我的第一个想法是,

hg 将整个 repo 捆绑在他的机器上并将其复制到 U 盘。

使用来自服务器的 1(第一个)变更集创建一个克隆

然后在我的机器上解开整个 repo。


捆绑和取消捆绑需要很多时间。

想知道是否有更好的方法。

【问题讨论】:

  • 不是Git,你应该删除这个标签
  • 嗨!您应该问自己,如果您正确使用 Hg。一个 10 GB 的存储库表明您正在其中存储二进制文件。要么将它们存储在其他地方(对于依赖项,请使用 Maven 代理之类的 Java 项目)或使用大文件扩展名或类似的东西。另见:mercurial.selenic.com/wiki/HandlingLargeFiles
  • 您不能使用 USB 记忆棒或通过网络或其他方式复制整个文件夹吗? Mercurial 存储库没有什么神奇之处,它只是文件夹和文件。是的,有一些与文件链接相关的魔法,但如果您将文件复制到另一台计算机,这将不适用。

标签: mercurial repository


【解决方案1】:

您可以直接从同事的机器上克隆它。他可以运行“hg serve”,它将报告要克隆的 http 地址,然后运行“hg clone http://xxxxxx:8000”,其中xxxxxx 是从另一台机器报告的。你会想要一个强大的网络速度。如果您在本地 LAN 上,请使用 --uncompressed 标志。

【讨论】:

    【解决方案2】:

    速度取决于很多因素。

    你可以尝试一些事情:

    • 使用 hg serve 压缩或不压缩(就像 Mark 已经提到的那样)
    • 使用带或不带 GZip 压缩的 SSH(取决于网络速度)。

    【讨论】:

      【解决方案3】:

      使用任何可能的方式简单地复制包含工作文件夹和.hg 存储库文件夹的文件夹:

      • 将其复制到 U 盘
      • 通过网络复制

      当您在文件链接方面克隆到同一台计算机上的不同文件夹时,与本地文件相关的一些魔法,但如果您将存储库复制到完全不同的计算机,则不适用。

      因此假设这 3-4 小时不是因为您的网络速度慢,您应该可以使用普通的操作系统工具复制它。

      【讨论】:

        猜你喜欢
        • 2014-04-22
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多