1

puppet-vcsrepoを使用して、すべてのマシンに hg リポジトリから最新バージョンのコードがチェックインされていることを確認しようとしています。初めてマニフェストを実行すると、コードは正常にチェックアウトされますが、その後パペットを実行するたびに次のエラーが発生します。

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 の両方を試してみました。私は操り人形を学んでいて、ルビーにはあまり詳しくないので、どんな助けでも大歓迎です。

4

1 に答える 1

2

問題は、の使用法である可能性がありますrevision => "HEAD"。私の知る限り、HEADはgit用語です。リビジョン部分を削除するだけで、デフォルトで最新バージョンのコードを取得できます。

README.HG.markdown:

デフォルトのブランチヒントを取得するには:

vcsrepo { "/path/to/repo":
     ensure   => present,
     provider => hg,
     source   => "http://hg.example.com/myrepo"
 }
于 2011-08-09T04:52:36.897 に答える