我正在使用Xeroizer寶石,並且想要猴子補丁pull requests其中一個添加我需要的功能。如何在模塊中猴子補丁類?
該請求有四個提交,其中一些涉及修補模塊內的類。是否有可能做到這一點,而不必分叉寶石,並永遠保持這種狀態(或直到這個拉動請求被合併的時間)?
我發現this計算器的問題是相似的,但並沒有完全覆蓋相同的情況下,和this後與轉接模塊的交易,但我嘗試到目前爲止已經結束了要麼打破了寶石或只是不工作。
我正在使用Xeroizer寶石,並且想要猴子補丁pull requests其中一個添加我需要的功能。如何在模塊中猴子補丁類?
該請求有四個提交,其中一些涉及修補模塊內的類。是否有可能做到這一點,而不必分叉寶石,並永遠保持這種狀態(或直到這個拉動請求被合併的時間)?
我發現this計算器的問題是相似的,但並沒有完全覆蓋相同的情況下,和this後與轉接模塊的交易,但我嘗試到目前爲止已經結束了要麼打破了寶石或只是不工作。
好吧,這是你可以做什麼
git clone https://github.com/waynerobinson/xeroizer.git
回購系統的某個位置(可以說〜/ Xeroizer爲了便於舉例)git checkout add-balances-to-contact
gem 'xeroizer'
gem "xeroizer", :path => "~/Xeroizer"
這應該會給你所需的gem版本。另外,您可以在步驟7.從上面的列表換出的寶石file命令與此命令
gem "xeroizer", :git => "[email protected]:waynerobinson/xeroizer.git", :branch => "add-balances-to-contact"
扔在你的寶石文件,只需要運行捆綁
至於你的問題關於必須保持這個永遠的答案當然不是,因爲這個分支在幾個星期前合併,否則將不得不在一定程度上維持它。
您可能可以使用git的子模塊功能來進行更改,否則可以將樹分開並使用魔術腳本爲您完成修補。這增加了做一些額外檢查的機會(做所有這些文件存在?..)。 – ti7
我的答案有幫助嗎? –
我發現了一個替代解決方案,我的問題不涉及monkeypatching,所以我從來沒有嘗試過你的建議,因爲基本問題不再相關。你的答案是我最初考慮的,但是隨着API獲得相當頻繁的更新,我需要一個解決方案,不會從基礎寶石中排除未來的補丁。 – bdx
你介意發佈你的解決方案來幫助社區 –