1

谁能告诉我如何设置一个 mercurial 存储库的镜像?我的笔记本电脑上有一个 mercurial 存储库,但想在 NAS 驱动器上自动镜像存储库作为备份形式。理想情况下,如果解决方案检查存储库的已知位置,如果不存在,创建它,然后镜像任何更改,这将是很酷的。

要记住的另一件事是 NAS 可能并不总是可用,所以我需要以某种方式适应这一点。

4

2 回答 2

1

Mercurial 让您可以随心所欲地执行此操作。如果您愿意,您可以设置一个过程以定期将存储库从本地计算机复制到 NAS。关于 repo 的所有内容都存储在目录中,目录中的所有内容都只是一个文件。

但是,在我看来,您想要设置更类似于 Subversion 等版本控制系统的东西。我对我的一个项目做了这样的事情(实际上,我把它从 SVN 移到了 Mercurial,但这是一个不同的答案)。

我在 xp-dev.com 上有一个存储库,在我的计算机上有我的本地存储库。我在本地存储库上完成所有我想做的工作,并且hg com非常频繁地发布。当我完成白天/晚上的工作时,我会做一个hg push ssh://hg2.xp-dev.com/myrepo会将所有本地更改发送到远程服务器。

所以,你真正想做的就是hg push把你的本地存储库放在你的 NAS 上,然后记得定期再做一次。

于 2010-06-09T20:59:25.143 回答
1

我用 git 做了一些类似的事情,但是所有的功能也应该在 mercurial 中。

我在某个服务器上手动创建了一个克隆(在我的情况下,网络上的某个地方是一个 VPS,以防我的房子被 NAS 和笔记本电脑烧毁)。

使用 git,您可以创建一个“裸”存储库,即签出 w/oa 分支。

然后我定期推动它。

这可以使用“钩子”自动化,更多信息在这里

诀窍是让处理脱离提交挂钩(oun 预期)并且同步不在您的工作流程中。在几分钟内使用“at”命令运行您的推送脚本。然后它在后台异步运行。我不会在这里花哨,尝试优雅地处理失败。

您现在有一个设置,可以在几分钟内保持备份同步。

于 2010-06-09T20:59:39.433 回答