2011-08-09 41 views
1

我試圖使用puppet-vcsrepo來確保我的所有機器都有我的代碼從我的hg repo中檢入的最新版本。我第一次運行我的表現,我的代碼已成功簽出,但每次木偶運行之後,我得到這個錯誤:puppet-vcsrepo:無法評估:未定義的方法「最新?」

Could not evaluate: undefined method `latest?' for #<Puppet::Type::Vcsrepo::ProviderHg:0x7f830dc59cb0> 

這裏是我的清單的相關部分:

vcsrepo {"/path/to/dir": 
    provider => hg, 
    ensure => 'present', 
    source => '[email protected]/source', 
} 

我嘗試過使用不同的修訂版本,或者根本不指定它們,以及試圖確保=>存在並確保=>最新版本。我只是在學習傀儡,並不熟悉紅寶石,所以任何幫助將不勝感激。

回答

2

該問題可能是您使用revision => "HEAD"。據我所知HEAD是一個混帳術語。只需刪除修訂部分,默認情況下您將獲得最新版本的代碼。

README.HG.markdown:

To get the default branch tip:

vcsrepo { "/path/to/repo": 
    ensure => present, 
    provider => hg, 
    source => "http://hg.example.com/myrepo" 
} 
+0

感謝您的回答phaer。就像我說的,iv嘗試了不同的版本,包括「HEAD」關鍵字,並且根本沒有指定修訂版本。他們都有相同的結果。 – nicksweet