場景:我已經「繼承」的程序,保持水銀下,只有我的工作與特定的調整,以某些文件,這些文件在籤系統上我不要籤這些調整可以Mercurial做反向修補嗎?
。我最近的解決方案是創建一個包含這些調整的mercurial補丁文件(hg diff> patchfile);當我需要檢查更改時,我只需反向應用修補程序,提交併重新應用修補程序。 (如果我完全控制了源代碼,我只是將所有這些小小的調整移動到一個不受版本控制的配置文件中,將「示例」配置文件置於版本控制之下)
不幸的是,似乎雖然GNU patch
命令支持--reverse
標誌,但它不支持hg的多文件比較格式作爲單個補丁文件(或者它可以,我只是不知道它的開關?)。 OTOH,hg有自己的patch
命令,可以應用diff,但不支持任何種類的reverse
標誌。
所以我的問題是雙重的:
- 如何應該這將在水銀做了什麼?當然掛在「調整補丁」並不是處理這種情況的唯一方法。也許mercurial有一個插件或內置的這種暫時的,不可改變的變化。
- 除了應該怎麼做,有什麼辦法可以將這樣一個mercurial diff-patch應用到這樣的mercurial repo嗎?還有其他情況下,這些功能將是有用的。
這接近我想要的(我必須承認,我從來沒有把學習MQ努力到現在爲止)。然而,現在我已經將我的補丁添加到mq中並且做出了我想提交的更改,「hg ci」抱怨說我「無法承諾應用的mq補丁」。在提交之前,我不能'補丁'補丁,因爲補丁中有本地更改。這似乎是一個阻礙MQ解決問題的障礙,除非我錯過了一些東西。 – eternicode 2010-11-26 22:58:41