2014-01-27 19 views
2

ConfigurationOfMyProject基線我要求項目東西我可以在我的Metacello配置中需要特定的另一個Metacello ConfigurationOf嗎?

spec project: 'Something' with: [ 
    spec 
     className: 'ConfigurationOfSomething'; 
     repository: 'http://smalltalkhub.com/mc/SomeOne/Something/main'; 
     versionString: '1.0' ]. 

ConfigurationOfSomething維護者犯下的ConfigurationOfSomething新版本包含一個錯誤。所以我的ConfigurationOfMyProject不再加載。

我能要求ConfigurationOfSomething像一個特定版本:

spec project: 'Something' with: [ 
    spec 
     className: 'ConfigurationOfSomething'; 
     repository: 'http://smalltalkhub.com/mc/SomeOne/Something/main'; 
     monticelloVersion: 'ConfigurationOfSomething-SomeOne.125' 
     versionString: '1.0' ]. 

回答

2

是的,你可以使用#file:消息強制加載一個特定的版本。

spec project: 'Something' with: [ 
    spec 
     className: 'ConfigurationOfSomething'; 
     file: 'ConfigurationOfSomething-SomeOne.125'; 
     repository: 'http://smalltalkhub.com/mc/SomeOne/Something/main'; 
     versionString: '1.0' ]. 

查看Metacello API的概述。

+0

這就是我一直在尋找的。但正如@ Stephan-Eggermont所說,這對我的問題並不是一個好的解決方案。 'file:'的用途是什麼? – MartinW

+1

有時你還不知道如何避免引用靜態版本,或者維護人員正朝着不喜歡的方向前進。這裏你知道你得到的是什麼版本。 –

+1

就是這樣的。我會這樣說:當你在一個項目上工作時,你想決定什麼時候改變你正在使用的庫/項目。您的項目開始在截止日期前一天建立和/或執行失敗並且僅僅因爲有人破壞了配置或將#stable版本更新爲一些不穩定的東西就非常痛苦。 –

1

,你可以,但可能不想。做上述建議的結果是,您正在創建一個無法修補的快照。 [快照版本不應該在配置中。他們是一個單獨的概念,需要他們自己的班級]。通過大致相同的努力,您可以查看版本126中所做的更改,並確保獲得這些更改。

如果使用monticello瀏覽器打開存儲庫,則選擇版本126,然後選擇歷史記錄。在歷史記錄中選擇版本125,然後查看上下文菜單中的更改。在那裏您會看到默認設置已更改(並添加了新的基準)。如果您現在默認(或穩定)取決於您的需求,則可以保存新版本的配置。只要確保您在最新版本中進行了更改即可。

spec for: #'common' version: '2.1'. 
spec for: #'pharo1.3.x' version: '2.2'. 
spec for: #'pharo1.4.x' version: '2.4'. 
spec for: #'pharo2.x' version: '2.5'. 
spec for: #'pharo3.x' version: '2.6-snapshot'. 

[編輯]如果問題與WontFix關閉,這通常意味着沒有足夠的時間來完成所有的工作,以解決它。通過顯示該修補程序可以滿足您的需求,最好還可以使用此代碼獲取最新的圖像,從而獲得更好的結果。因此,只需在本地包中進行更改(以乾淨的圖像形式)並嘗試。如果你可以報告它的工作原理,我會做出改變:)

+0

所以你建議的是,我寧願在自己的倉庫中製作**我自己的'ConfigurationOfSomething'版本,所以我可以控制它? – MartinW

+0

不,只是修復它所有 –

+0

哈哈,好的。所以我們在這裏談論魅力,我有些氣餒,因爲他們用「WontFix」關閉了相關的錯誤,並表示他們不再支持Pharo 2.0。另外我懷疑,我有知識修復它而不會破壞別的東西。 – MartinW

相關問題