Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/blackberry/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mercurial:在远程respository创建远程存储库的本地副本_Mercurial_Mercurial Hook - Fatal编程技术网

Mercurial:在远程respository创建远程存储库的本地副本

Mercurial:在远程respository创建远程存储库的本地副本,mercurial,mercurial-hook,Mercurial,Mercurial Hook,我在台式机上使用Mercurial,然后将本地存储库推送到。我注意到这个远程服务器在其存储库中没有保存文件的本地副本(目录是空的,除了.hg目录) 用本地副本填充这些目录的首选方法是什么?(这反过来又被该服务器上的各种不相关服务使用) 到目前为止,我想到的是使用钩子和hg-archive创建本地副本。这将是一个令人满意的解决方案,但我需要为每个存储库配置一个hgrc文件(这很繁琐,但我没有找到将其集中在/etc/mercurial/hgrc中的方法)。可能是一个全局脚本(在/etc/mercur

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

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


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

如果可以访问远程存储库,则可以在变更组进入时安装一个钩子,并在发生时执行
hg更新

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

[hooks]
changegroup = hg update
每当远程存储库被推送到(或当它执行
拉取
)时,它将更新到最新的变更集


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

谢谢-这正是我所要寻找的(我太专注于
hg archive