【问题标题】:Mercurial: create local copy of a remote repository at the remote respositoryMercurial:在远程仓库创建远程仓库的本地副本
【发布时间】:2013-04-30 09:41:06
【问题描述】:

我在台式机上使用 Mercurial,然后将本地存储库推送到 a centralized server。我注意到这个远程服务器的存储库中没有文件的本地副本(目录是空的,除了.hg 一个)。

用本地副本填充这些目录的首选方法是什么? (反过来又被该服务器上的各种不相关服务使用)。

到目前为止,我想出的是使用钩子和hg archive 创建本地副本。这将是一个令人满意的解决方案,但我需要为每个存储库配置一个 hgrc 文件(这很乏味,但我没有找到将其集中在 /etc/mercurial/hgrc 中的方法)。也许是一个全局脚本(在/etc/mercurial/hgrc 中,为每个变更组事件运行)? (在这种情况下,我如何获取要在 if...then 场景中使用的存储库名称?)

【问题讨论】:

    标签: mercurial mercurial-hook


    【解决方案1】:

    如果您可以访问远程存储库,则可以安装一个钩子,用于更改组何时进入,并在发生这种情况时执行hg update

    快速检查显示此 in the FAQ(问题 4.21),但要总结/复制:编辑远程存储库上的 .hg/hgrc 文件,并添加以下行:

    [hooks]
    changegroup = hg update
    

    每当远程存储库被推送到(或执行pull)时,它都会更新到最新的变更集。

    一些注意事项 - 如果对远程端的文件进行了任何更改,这可能会失败(您可以改用hg update -C)。此外,如果您推送了任何匿名分支(您必须有意识地强制),您可能无法更新到您想要更新的内容。

    【讨论】:

    • 谢谢 - 这正是我想要的(我太专注于 hg archive
    猜你喜欢
    • 2018-12-05
    • 2021-09-11
    • 1970-01-01
    • 2018-02-06
    • 1970-01-01
    • 1970-01-01
    • 2012-06-26
    • 1970-01-01
    • 2016-01-17
    相关资源
    最近更新 更多