我在写保护的USB拇指驱动器上有一个Mercurial存储库,我想从中克隆到工作站。我认为这将是一个“单向”操作,但它不是:在将拇指驱动器插入工作站并尝试hg clone E:\my_repo
后,我收到错误,指示Mercurial正在尝试写入来源回购。 (这是在Windows XP上,具有以下错误详细信息:“hg.exe - 写保护错误/磁盘无法写入,因为它是写保护的。请从驱动器E中的卷中删除写保护:。”)< / p>
有趣的是,在错误对话框选项中选择“继续” - 这实际上似乎意味着“忽略错误并继续你正在做的事情” - 似乎允许克隆成功完成。或者至少我看不出结果克隆的回购有什么问题。
我的问题是:(1)为什么Mercurial在克隆时需要写入源代码?并且(2)简单地继续并忽略Mercurial未能写入源的任何内容确实是安全的吗?
答案 0 :(得分:5)
Mercurial克隆有四种方式:
所有这些方法但是尝试锁定源存储库以避免在克隆中间可能损坏它的任何提交。由于这对您来说不是一个危险,因此忽略错误是安全的(尽管并非Mercurial对未能锁定感到满意)。
或者,您可以指定--pull来执行不需要锁定的克隆。