2012-07-07 92 views
3

我有一個網絡共享上的Mercurial存儲庫的集合。爲了啓用離線工作,我需要在筆記本電腦上使用本集合的本地副本,以及在線時可以輕鬆同步這兩者。同步Mercurial存儲庫的集合

對於這一點,我寫了一個快速的腳本,自動同步與相應的遠程倉庫(推拉)每個本地資源庫,但它缺少了幾個理想的特點:新的倉庫從

  • 自動克隆本地到遠程集合(反之亦然)
  • 組織(移動/重命名)本地存儲庫並在遠程端也應用更改的能力,下一次我同步
  • 有能力同步hg strip和其他rew命令儀式庫歷史
  • 到針對hgwebdir集合甚至到位桶

是否有任何現有的解決方案,提供的這些功能部分(或全部)同步的能力?

+0

添加了同步標記 – 2012-07-07 20:03:38

回答

0

據我所知,沒有這樣的存在。在存儲庫之間來回移動變更集的最安全方法始終是hg pushhg pull,而且這些命令都不能在多個源或目標存儲庫上運行。

備份的目的,我之前做這樣的事情:

for thedir in $(find . -type d -name .hg) ; do 
    repopath=$(dirname $thedir) 
    hg push $repopath ssh://mybackupserver//path/to/backups/$(basename $repopath) 
done 

其推動所有本地回購到異地備份。從理論上講,你可以同時進行推和拉,如果需要的話可以執行一個初始化/克隆,但是你會很快開始碰到邊緣問題。

+0

是的,這基本上是我現在正在做的。 : - / – 2012-07-09 22:20:24