我在网络共享上有一组Mercurial存储库。为了启用离线工作,我希望在笔记本电脑上使用此集合的本地副本,并在我上线时轻松同步这两个副本。
为此,我编写了一个快速脚本,自动将每个本地存储库与相应的远程存储库(推拉)同步,但它缺少一些理想的功能:
hg strip
和其他重写存储库历史记录的命令的能力hgwebdir
集合甚至Bitbucket同步的能力是否有任何现有的解决方案可以提供这些功能中的一些(或全部)?
答案 0 :(得分:0)
据我所知,这一切都不存在。在存储库之间来回移动更改集的最安全方法始终是hg push
和hg pull
,并且这些命令都不会在多个源或目标存储库上运行。
出于备份目的,我之前做过类似的事情:
for thedir in $(find . -type d -name .hg) ; do
repopath=$(dirname $thedir)
hg push $repopath ssh://mybackupserver//path/to/backups/$(basename $repopath)
done
将所有本地存储库推送到场外备份。从理论上讲,你可以同时执行推送和拉取,如果需要,可以执行初始化/克隆,但是你很快就会开始使用边缘ccases。