我在网络共享上有一组 Mercurial 存储库。为了启用离线工作,我需要在我的笔记本电脑上保存该集合的本地副本,以及在在线时同步这两个集合的简单方法。
为此,我编写了一个快速脚本,自动将每个本地存储库与相应的远程存储库同步(推和拉),但它缺少一些理想的功能:
- 自动将新存储库从本地克隆到远程集合(反之亦然)
- 能够组织(移动/重命名)本地存储库,并在下次同步时将更改应用到远程端
- 同步能力
hg strip
以及其他重写存储库历史记录的命令
- 同步的能力
hgwebdir
集合甚至 Bitbucket
是否有任何现有解决方案可以提供部分(或全部)这些功能?
据我所知,这样的事情并不存在。在存储库之间来回移动变更集的最安全方法始终是hg push
and 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
它将所有本地存储库推送到异地备份。理论上,您可以同时进行推和拉,如果需要的话还可以进行初始化/克隆,但是您很快就会开始遇到边缘情况。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)