Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/mercurial/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Version control 从写保护的源repo忽略错误是否安全?_Version Control_Mercurial - Fatal编程技术网

Version control 从写保护的源repo忽略错误是否安全?

Version control 从写保护的源repo忽略错误是否安全?,version-control,mercurial,Version Control,Mercurial,我在写保护USB拇指驱动器上有一个Mercurial存储库,我想从中克隆到工作站。我原以为这是一个单向操作,但事实并非如此:在将thumb驱动器插入工作站并尝试hg clone E:\my_repo后,我收到一个错误,指示Mercurial正在尝试写入源repo。这是在Windows XP上,具有以下错误详细信息:hg.exe-写保护错误/磁盘无法写入,因为它是写保护的。请从驱动器E:中的卷中删除写保护 有趣的是,在“错误”对话框选项中选择“继续”——这实际上似乎意味着忽略错误并继续您正在执行的

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

有趣的是,在“错误”对话框选项中选择“继续”——这实际上似乎意味着忽略错误并继续您正在执行的操作——似乎允许克隆成功完成。或者至少我看不出克隆回购协议有什么问题


我的问题是:1为什么Mercurial在克隆时需要向源代码写信?2.继续并忽略Mercurial无法写入源代码的内容是否确实安全?

Mercurial克隆有四种方式:

硬链接:用于支持的同一卷上的克隆 复制:用于从文件系统到文件系统的克隆 pull:用于从远程计算机克隆 流:用于在高速LAN上克隆请参阅-未压缩

所有这些方法,但拉尝试锁定源库,以避免在克隆的中间可能会破坏它的任何提交。由于这对您来说并不危险,因此可以安全地忽略错误,尽管Mercurial不会对锁定失败感到高兴

或者,您可以指定-pull来执行不需要锁定的克隆