2010-05-06 24 views
16

我們的團隊剛開始使用Mercurial。我們開始玩的第一件事情是hg shelve。在本地,我沒有問題擱置變化。從我所知道的情況來看,這一切都很完美。但是,當我試圖取消擱置時,我收到了restoring backup files消息,但是當我運行hg diff時,沒有更改,並且我的更改從代碼中丟失。如果我做hg unshelve -i我可以看到差異,但同樣嘗試取消擱置似乎沒有效果。hg unshelve無法正常工作

我一直試圖用一些非常簡單的改變來測試它,這些改變在衝突方面應該不是問題,例如,添加一個測試評論。我應該注意到,我試過hg unshelve -f之後它說unshelve completed但我的更改不會恢復。

任何想法我做錯了什麼?

如果它的事項:水銀分佈式SCM(版本1.5.1 + 20100405)

+1

剛發現這個:https://bitbucket.org/tksoh/hgshelve/issue/11/unshelve-is-not-restoring-file-changes Soooo,hg unshelve剛剛壞了?這看起來合適嗎? – shanebonham 2010-05-06 20:54:21

+2

值得一提的是,'hg shelve'不是mercurial的一部分,它是別人的第三方擴展。我懷疑「擱置」不是mercurial的一部分是因爲它不符合mercurial的思維模式。 mercurial的擱置方式是要麼提交,然後更新到一個修訂版本或快速克隆您的回購。克隆是即時的,幾乎不佔用空間(現代文件系統上的硬鏈接),並且沒有未提交的更改。即使你的團隊最終擱置,你也應該用香草水果來啓動他們,這樣他們才能學習這個成語。 – 2010-05-06 21:36:40

+5

值得一提的是,Bryan O'Sullivan是hgshelve的作者之一,也是Mercurial的核心開發人員之一,所以它不僅僅是一些隨機的第三方擴展。盡一切手段首先學習不花哨的方式,但不要阻止人們使用Mercurial,但對他們來說很方便。 – 2011-03-07 14:19:08

回答

7

嘗試,叉子和它的工作原理:https://bitbucket.org/astiob/hgshelve/

因此,答案似乎是,是的,它是壞了,是的,那個叉子修復它。

+1

「astiob」叉已被拉入「tksoh」主線。我仍然有問題,使用Mecurial 1.7.1。 – jwhitlock 2011-10-17 16:42:29

+0

那個叉子對我也不起作用,但是@ Nick的評論起作用了:'hg shelve -i | patch -p1' – Pascal 2011-11-30 01:43:42

0

作爲更新,我目前版本Mercurial Distributed SCM (version 2.9.1),並沒有問題。如果您仍然遇到未擱置的問題,我建議更新到最新的Mercurial版本。