2010-06-09 272 views
1

任何人都可以告诉我如何设置一个mercurial存储库的镜像吗?我在我的笔记本电脑上安装了一个mercurial repo,但想要将NAS驱动器上的repo自动镜像为一种备份形式。理想情况下,如果解决方案检查已知位置以获取回购,并且如果不存在,则创建该回购将很酷,并从此镜像任何更改。设置一个mercurial镜像

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

+0

hg clone?那么hg更新? – PostMan 2010-06-09 20:48:42

回答

1

Mercurial让你自由地做到这一点,无论你想要什么。如果你愿意,你可以设置一个过程,以便定期将本地机器上的repo拷贝到NAS中。有关回购的一切都存储在目录中,并且目录中的所有内容都只是一个文件。

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

我在xp-dev.com和我的电脑上有本地存储库。我做了我想做的本地存储库的所有工作,非常频繁地发布hg com。当我完成白天/夜晚时,我会执行hg push ssh://hg2.xp-dev.com/myrepo将所有本地更改发送到远程服务器。

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

1

我做了类似的git,但所有的功能也应该在mercurial中。

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

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

然后我经常推它。

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

诀窍是让处理脱离提交钩子(oun意图),并且同步不在您的工作流程中。几分钟后用'at'命令运行你的push脚本。然后它在后台异步运行。我不会喜欢这里,优雅地尝试和处理失败。

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