2010-06-09 278 views
1

任何人都可以告訴我如何設置一個mercurial存儲庫的鏡像嗎?我在我的筆記本電腦上安裝了一個mercurial repo,但想要將NAS驅動器上的repo自動鏡像爲一種備份形式。理想情況下,如果解決方案檢查已知位置以獲取回購,並且如果不存在,則創建該回購將很酷,並從此鏡像任何更改。設置一個mercurial鏡像

要記住的另一件事是,NAS可能並不總是可用的,所以我需要以某種方式適應這一點。

+0

hg clone?那麼hg更新? – PostMan 2010-06-09 20:48:42

回答

1

Mercurial讓你自由地做到這一點,無論你想要什麼。如果你願意,你可以設置一個過程,以便定期將本地機器上的repo拷貝到NAS中。有關回購的一切都存儲在目錄中,並且目錄中的所有內容都只是一個文件。

但是,這聽起來像你想要設置更類似於Subversion版本控制系統的東西。我用我的一個項目做了這樣的事情(實際上,我將它從SVN移到Mercurial,但這是一個不同的答案)。

我在xp-dev.com和我的電腦上有本地存儲庫。我做了我想做的本地存儲庫的所有工作,非常頻繁地發佈hg com。當我完成白天/夜晚時,我會執行hg push ssh://hg2.xp-dev.com/myrepo將所有本地更改發送到遠程服務器。

所以,你真正想要做的就是hg push把你的本地倉庫放到你的NAS上,然後記得定期再做一次。

1

我做了類似的git,但所有的功能也應該在mercurial中。

我在某些服務器上手動創建了一個克隆(在我的情況下,在網絡上的某個VPS上,以防萬一我的房子被NAS和筆記本電腦燒燬)。

使用git,你可以創建一個「裸」的存儲庫,即沒有簽出分支。

然後我經常推它。

這可以使用'鉤子'自動化,更多信息here

訣竅是讓處理脫離提交鉤子(oun意圖),並且同步不在您的工作流程中。幾分鐘後用'at'命令運行你的push腳本。然後它在後臺異步運行。我不會喜歡這裏,優雅地嘗試和處理失敗。

您現在有一個設置可以在幾分鐘內保持備份同步。