设置一个水银镜

时间:2010-06-09 20:45:50

标签: mercurial backup mirroring

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

要记住的另一件事是NAS可能并不总是可用,所以我需要以某种方式容纳它。

2 个答案:

答案 0 :(得分:1)

Mercurial为您提供了随心所欲的自由。如果需要,您可以设置一个过程,以便定期将本地计算机中的repo复制到NAS。关于repo的所有内容都存储在目录中,目录中的所有内容都只是一个文件。

然而,听起来我觉得你想要设置更像类似Subversion这样的版本控制系统。我用我的一个项目做了类似的事情(实际上,我把它从SVN移到了Mercurial,但这是一个不同的答案)。

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

所以,你真正要做的只是hg push将你的本地回购放在你的NAS上,然后记得定期再做一次。

答案 1 :(得分:1)

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

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

使用git,您可以创建一个“裸”存储库,即没有检出分支。

然后我经常推动它。

这可以使用'hooks'自动化,更多信息here

诀窍是从提交挂钩(oun that)获取处理,并且同步不在您的工作流程中。在几分钟内使用'at'命令运行您的推送脚本。然后它在后台异步运行。我不喜欢这里,试着优雅地处理失败。

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