2011-03-25 59 views
4

我有兩個連續的修補程序,都沒有應用,並且我意外地將qdelete命名爲錯誤的修補程序。有什麼方法可以扭轉這種操作並獲得我的補丁?我在這一個有大量的工作!如何使用MQ檢索Mercurial中的意外刪除的修補程序

+0

@ gizmo - 感謝Gizmo,我嘗試使用Windows 7以前的版本,但該文件最近沒有保存呃對我來說重複使用它,並且一些反刪除工具也找不到它,我想它已經不在了。一天的工作流失......嘆息... – 2011-03-25 14:08:35

+0

@ Ry4an - 謝謝,我是Mercurial的新手,並且正在嘗試尋找一種體面的方式來管理不同的工作流程,我會考慮創建一個補丁回購協議你建議將來的工作流程。 – 2011-03-25 16:22:41

+0

僅供將來需要此參考的人員參考。使用Windows 7以前的版本功能,我無法將修補程序文件保存在.hg中,但是我能夠從解決方案本身的舊版本中恢復我的文件。恢復丟失的文件後,重新創建修補程序相對容易。儘管這部分運氣很好,並且可能不適用於所有情況下的所有用戶。 @ Ry4an的評論似乎是最有意義的。提前將修補程序隊列置於直接版本控制之下。另外,作爲習慣,建議使用-k作爲@gizmo刪除。 – 2011-03-28 17:16:12

回答

4

避免這種方式(我知道現在沒有幫助,很抱歉)不僅僅是使用Mercurial Queues,mq,而是將其與補丁存儲庫一起使用。 Mercurial/mq對此有很大的支持。

最初創建的隊列你這樣做:

hg qinit --create-repo 

(而不是僅僅hg qinit),它會在您的.hg/patches目錄中一個新的Mercurial庫。然後你可以使用:

hg commit --mq 

提交所有的補丁文件,並把這一回是像下面這樣:

hg revert --mq 

底線,我又知道這是不是現在幫你,但也許它會幫助下一個人或你後來,是:如果你正在編寫的代碼,它並沒有承諾它不存在的地方 - 提前並經常提交併推送

3

不幸的是,如果您在調用qdelete命令時沒有使用-k選項,則補丁文件也被刪除。因此,您唯一的希望就是可以執行一些「未刪除」操作的備份或工具。

相關問題