我正在使用Mercurial 1.6。我有一個有幾個subrepos(11)的回購。我想在不推送子回購的情況下將父回購推送到默認的遠程回購。原因想要做到這一點包括:推送mercurial repo而不推送subrepos
- 我正在使用SSH回購,並且它需要很長時間才能建立連接,並沒有推送到每個subrepos。
- 我有subrepos提交我不想傳播到遠程回購(還)。
- Subrepos命名的分支不應傳播到repote回購站(顯然沒有辦法將分支名稱傳遞給subrepos的推送操作)。
但是,我一直無法找到一種方法來實現這一點。我嘗試刪除.hgsub和.hgsubstate(不提交)的內容,但mercurial仍堅持推送subrepos。
我該如何推動從本地倉庫到遠程倉庫的更改並暫時忽略子倉庫?
這是有道理的,它讓我覺得我們不是按照他們打算使用的方式使用subrepos。我們主要使用它們來輕鬆地檢出一個回收集合......而我們的.hgsubstate始終引用subrepos的NULL修訂版本。看起來,hgforest擴展(現已棄用)對於我們的目的比subrepos更好。 – 2010-12-22 14:26:30
這很有道理,但Mercurial似乎過於熱忱。即使該修訂(或其任何後代)在'.hgsubstate'中被調用,它也會嘗試推送'abcd1234'。即使'hg out --S -r .'('-S'用於'rererse into subrepos')也不會列出subrepo的變化。 – weberc2 2014-12-22 15:03:16
我們可以告訴它,如果所有變更集的階段都是公開的,那麼我們可以告訴它不推動,因爲這表明(只要我們沒有手動設置公共階段)它已經被推送。 – 2016-02-17 15:18:34