我正在使用puppet克隆代理节点上的回购。 我的site.pp包含
node foobar{ vcsrepo{"home/user1/gitrepo1": provider=>git, source=>"https://github.com/foobar/foo.git", revision => "remotes/origin/bar", } }
在代理上,当我在应用目录之后执行git branch时,它显示出来
*(no branch) master
当我做git branch -a它显示
master remotes/origin/HEAD -> origin/master remotes/origin/bar
我希望能够签出远程“酒吧”分支。 只有指定revision=>bar给出以下错误。 这个文件也不太清楚。
err: /Stage[main]//Node[foobar]/Vcsrepo[/home/user1/gitrepo1]: Could not evaluate: Execution of '/usr/bin/git rev-parse bar' returned 128: fatal: ambiguous argument 'bar': unknown revision or path not in the working tree. Use '--' to separate paths from revisions bar
编辑:我最初发布了一个错字。 实际上我已经在我的site.pp中指定了revision => bar
谢谢。
可以用'revision'指定分支(可以是提交SHA,标签或分支名称):
vcsrepo { "/path/to/repo": ensure => present, provider => git, source => 'git://example.com/repo.git', revision => '0c466b8a5a45f6cd7de82c08df2fb4ce1e920a31' } vcsrepo { "/path/to/repo": ensure => present, provider => git, source => 'git://example.com/repo.git', revision => '1.1.2rc1' } vcsrepo { "/path/to/repo": ensure => present, provider => git, source => 'git://example.com/repo.git', revision => 'development' }
https://github.com/puppetlabs/puppetlabs-vcsrepo/blob/master/README.GIT.markdown