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
“安全吗?”;“分行”;只需复制整个目录即可实现本地mercurial存储库克隆?_Mercurial_Branch_Clone - Fatal编程技术网

“安全吗?”;“分行”;只需复制整个目录即可实现本地mercurial存储库克隆?

“安全吗?”;“分行”;只需复制整个目录即可实现本地mercurial存储库克隆?,mercurial,branch,clone,Mercurial,Branch,Clone,如果我在本地有一个相当大的Mercurial项目,并且希望进行实验,我可以安全地在本地复制所有内容并在那里工作吗 例如,假设我这样做: 将存储库从中央服务器克隆到本地目录 进行一些更改,在本地提交,不要推送 在本地复制目录 在本地对两个副本进行一些更改、提交、不推送 推送原始副本 推送第二份 这样安全吗?或者在我克隆时是否生成了一些唯一的ID 一个项目相当大,而且服务器的连接速度相当慢,或者看起来是这样,因此从中央服务器进行完整克隆需要很长时间。是的,这非常安全 在本地克隆存储库,hg clon

如果我在本地有一个相当大的Mercurial项目,并且希望进行实验,我可以安全地在本地复制所有内容并在那里工作吗

例如,假设我这样做:

  • 将存储库从中央服务器克隆到本地目录
  • 进行一些更改,在本地提交,不要推送
  • 在本地复制目录
  • 在本地对两个副本进行一些更改、提交、不推送
  • 推送原始副本
  • 推送第二份
  • 这样安全吗?或者在我克隆时是否生成了一些唯一的ID


    一个项目相当大,而且服务器的连接速度相当慢,或者看起来是这样,因此从中央服务器进行完整克隆需要很长时间。

    是的,这非常安全

    在本地克隆存储库,
    hg clone a/b/
    ,和复制存储库,
    cp-r a/b/
    ,我能想到的唯一区别是:

    • 如果可能,克隆将使用硬链接,因此将使用更少的磁盘空间
    • 特定于存储库的配置(例如,
      a/.hg/hgrc
      )将不会被
      hg clone
    • 如果克隆,则
      b/
      的默认推/拉路径将设置为
      a/

    所以,是的-简单地复制回购协议没有问题。

    谢谢,我希望是这样,但不完全确定。从空间角度看,“硬链接”项目可能是一个大问题。如果克隆基础.hg文件,则它们是硬链接,因此在更改之前不会占用额外空间。面对一个“克隆-U”,它不创建任何工作副本,也不占用任何新空间。因此,您可能需要执行克隆-U,然后在修改的和未受限制的工作目录上进行复制。然后您将获得您的工作流程和节省的空间。这是在Windows上,因此我怀疑硬链接对我来说会是一个问题:)很抱歉在我的问题中没有提到这一点。硬链接也用于Windows(如果可用,即NTFS上)