2010-12-21 49 views
0

我在SVN下的本地機器上有一個存儲庫。由於種種原因,我正在使用的SVN分支被鎖定,我不應該再創建一個分支。我希望能夠通過Mercurial進行許多本地提交,然後將這些更改複製/推送到網絡驅動器,以便每天晚上進行備份。當SVN分支再次打開時,我會將最後的更改推送給它。什麼是自動克隆回購網絡驅動器的最佳策略?

這似乎沒有一個與衆不同的地方。我做了我的本地回購,對它進行了一些更改並付諸實施。然後,我在遠程驅動器上做了一個空的回購,並試圖改變hg push。幾個小時後,只有33%完成。總回購約80MB(代碼文件夾中的6.7GB文件)。我真的不想等我每天都做一個提交。

我決定收拾hg push並改爲使用hg clone

它是這樣進行的(使用PowerShell的):

PS C:\Dev\Projects\Project1> hg status 
PS C:\Dev\Projects\Project1> hg clone H:\Repo\Projects 
**abort: repository H:\Repo\Projects not found!** 

好了,我顯然需要在H庫:\回購\項目。所以我去那邊,用hg init做一個空的倉庫。之後,我試試這個:

PS C:\Dev\Projects\Project1> hg clone H:\Repo\Projects 
destination directory: Projects 
**abort: destination 'Projects' is not empty** 

Mercurial在這裏想要什麼?一個空目錄?那麼不,那麼它無法找到回購。一個空的回購?否,它告訴我目的地不是空的。一個全新的文件夾,如hg clone H:\Repo\Projects\TheNewFolder?不,那我找到一個找不到消息的回購站。

什麼是最好的方式(或任何)做到這一點?我似乎被困在「需要一整天」或「根本不工作」之間。

回答

2

如果你在C:\Dev\Projects\Project1,你想克隆它到H:\Repo\Projects命令是cd ..其次是hg clone Project1 H:\Repo\Projects其中說克隆Project1到那裏。您試圖將H:\Repo\Projects克隆到當前目錄中。

克隆不會比推快 - 克隆只是hg init ; hg pull

有沒有理由你的80MB回購(除非你的意思是80GB)應該比眨眼推/拉到一個新的空回購。如果它是80GB,它只會很慢,一旦推出就會發送新的變更集。

0

你真的需要改寫你的問題,但我猜你需要添加文件和提交,也檢查convert extension

hg add -a 
hg commit -m 'initial' 

編輯你克隆到已經在目錄中有一個名爲項目目錄,刪除或重新命名它。

+0

你的意思是源代碼回購中的文件? – jcollum 2010-12-21 22:41:32

+0

我試過hg克隆到一個不存在的目錄並且出現錯誤。 – jcollum 2010-12-21 22:42:27