use `git rev-parse` to get tag canonical revision.
authorHuan Du <i@huandu.me>
Wed, 12 Feb 2014 14:40:56 +0000 (22:40 +0800)
committerHuan Du <i@huandu.me>
Wed, 12 Feb 2014 14:40:56 +0000 (22:40 +0800)
lib/puppet/provider/vcsrepo/git.rb

index c96095b..b2e893b 100644 (file)
@@ -52,7 +52,7 @@ Puppet::Type.type(:vcsrepo).provide(:git, :parent => Puppet::Provider::Vcsrepo)
     return current unless @resource.value(:revision)
 
     if tag_revision?(@resource.value(:revision))
-      canonical = at_path { git_with_identity('show', @resource.value(:revision)).scan(/^commit (.*)/).to_s }
+      canonical = at_path { git_with_identity('rev-parse', @resource.value(:revision)).chomp }
     else
       # if it's not a tag, look for it as a local ref
       canonical = at_path { git_with_identity('rev-parse', '--revs-only', @resource.value(:revision)).chomp }