代码之家  ›  专栏  ›  技术社区  ›  MarcM

hg mercurial关于google drive的问题

  •  2
  • MarcM  · 技术社区  · 6 年前

    我有一个 Mercurial-Hg 谷歌驱动器文件夹上的存储库。我用它作为一个基础回购在少数计算机上使用。使用 Tortoise-Hg 在他们所有人身上。

    它以前的工作原理很不错,但上周我遇到了一个我不理解的问题:做正常的操作(本地通信,hg push,hg pull从其他本地repo…)我和google drive用户发生了一个错误。我把它修好了,从那以后,当地的回购业务出现了分歧。我尝试过很多hg技巧(恢复,退出,创建新的本地回购…)但是…事实是:

    • 在计算机1中:我创建了一个新的克隆,最后一个版本是314。

    • 缺少修订!!!!这怎么可能?

    显然,Google Drive文件夹是正确同步的(我测试了它,在计算机1中创建了一个新的虚拟文件,并让它与计算机2同步)。

    这怎么可能?有什么提示吗?建议?

    1 回复  |  直到 6 年前
        1
  •  1
  •   MarcM    6 年前

    自我回答的问题。以防对其他人有用:

    @Lase v_’gs_ther Karlsen的评论是绝对正确的:

    在任何情况下都不要使用任何类型的文件级别 同步工具,如Dropbox、Google Drive、OneDrive, jottacloud或其他类似工具,用于同步分布式版本 控制计算机之间的存储库。[…]

    您应该将存储库移出Google Drive,修复它,然后在某个地方设置一个适当的分布式版本控制存储库,您可以对其进行推/拉操作。

    完成!从一个分散的谷歌驱动器文件夹克隆到一个全新的 Bitbucket repo(配置为hg mercurial repo)。这是非常直截了当的。

    然后从BitBucket重新克隆回使用repo的所有计算机。放弃谷歌驱动器文件夹。

    现在所有的repos克隆都可以正常工作了!…我想知道为什么我以前没有用这个旧回购协议这么做。实际上,我意识到这是必须的。