【问题标题】:Is it safe to ignore errors hg cloning from a write-protected source repo?从写保护的源代码库中忽略错误 hg 克隆是否安全?
【发布时间】:2011-10-07 14:39:19
【问题描述】:

我在写保护的 USB 拇指驱动器上有一个 Mercurial 存储库,我想从中克隆到工作站。我认为这将是一个“单向”操作,但事实并非如此:在将拇指驱动器插入工作站并尝试 hg clone E:\my_repo 后,我收到一个错误,表明 Mercurial 正在尝试写入 source 回购。 (这是在 Windows XP 上,带有以下错误详细信息:“hg.exe - 写保护错误/磁盘无法写入,因为它被写保护。请从驱动器 E: 中的卷中删除写保护。”)

有趣的是,在错误对话框选项中选择“继续”——这实际上意味着“忽略错误并继续你正在做的事情”——似乎可以让克隆成功完成。或者至少我看不出生成的克隆仓库有什么问题。

我的问题是:(1)为什么 Mercurial 在克隆时需要写入源?并且 (2) 简单地继续并忽略 Mercurial 未能写入源的任何内容确实安全吗?

【问题讨论】:

    标签: version-control mercurial


    【解决方案1】:

    Mercurial 克隆有四种方式:

    • 硬链接:用于在支持的同一卷上进行克隆
    • copy:用于从文件系统克隆到文件系统
    • pull:用于从远程机器克隆
    • 流:用于在高速 LAN 上进行克隆(参见 --uncompressed)

    除了 pull 之外的所有这些方法都尝试锁定源存储库,以避免克隆中间的任何可能损坏它的提交。由于这对您没有危险,因此忽略该错误是安全的(尽管 Mercurial 不会对锁定失败感到满意)。

    或者,您可以指定 --pull 在不需要锁定的情况下进行克隆。

    【讨论】:

      猜你喜欢
      • 2016-05-02
      • 1970-01-01
      • 1970-01-01
      • 2012-02-15
      • 2020-12-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多