我正在尝试使用puppet-vcsrepo来确保我所有的机器都有从hg repo检入的最新版本的代码。第一次运行清单时,我的代码成功检出,但此后每次puppet运行时,我都会得到这个错误:
Could not evaluate: undefined method `latest?' for #<Puppet::Type::Vcsrepo::ProviderHg:0x7f830dc59cb0>
这是我的清单的相关部分:
vcsrepo {"/path/to/dir":
provider => hg,
ensure => 'present',
source => 'me@mysource.com/source',
}
我尝试过使用不同的版本,或者根本不指定它们,以及尝试同时使用ensure => present和ensure => latest。我只是在学习木偶,我不是很熟悉ruby,所以任何帮助将非常感激。
问题可能是您对revision => "HEAD"
的使用。据我所知,HEAD是一个很好的术语。只要去掉修订部分,你就会得到最新版本的代码。
README.HG.markdown:
获取默认分支提示:
vcsrepo { "/path/to/repo":
ensure => present,
provider => hg,
source => "http://hg.example.com/myrepo"
}